/* /Components/ContactButtons.razor.rz.scp.css */
.contact-buttons[b-ex0g49ss9o] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* On dark: the outlines are a little softer and their icons saffron, as in the final CTA of the design. */
.contact-buttons--dark .btn--outline-inverse[b-ex0g49ss9o] {
  border-color: rgba(255, 255, 255, .45);
}

.contact-buttons--dark .btn--outline-inverse:hover[b-ex0g49ss9o] {
  border-color: #fff;
}

.contact-buttons--dark .btn--outline-inverse[b-ex0g49ss9o]  svg {
  color: var(--c-accent-300);
}

.contact-buttons--dark .btn--outline-inverse:active[b-ex0g49ss9o]  svg {
  color: var(--c-accent-600);
}

.contact-buttons--stack[b-ex0g49ss9o] {
  flex-direction: column;
  align-items: stretch;
}

.contact-buttons--stack .btn[b-ex0g49ss9o] {
  width: 100%;
}

.contact-buttons--grid[b-ex0g49ss9o] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-buttons--grid .btn[b-ex0g49ss9o] {
  width: 100%;
  padding-inline: 12px;
}

/* An odd number of buttons (a social page left empty in SiteConfig): WhatsApp, the main channel, takes the whole
   first row so no pill is left alone at half width. */
.contact-buttons--grid > .btn:first-child:nth-last-child(odd)[b-ex0g49ss9o] {
  grid-column: 1 / -1;
}

/* In fixed-width columns a label may be wider than its button (long translations, large text settings,
   pages that turn the stack into a grid): let it wrap inside the pill instead of spilling over the border. */
.contact-buttons--grid .btn[b-ex0g49ss9o],
.contact-buttons--stack .btn[b-ex0g49ss9o] {
  min-width: 0;
  white-space: normal;
  text-wrap: balance;
}

.contact-buttons--grid .btn span[b-ex0g49ss9o],
.contact-buttons--stack .btn span[b-ex0g49ss9o] {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 380px) {
  .contact-buttons--grid[b-ex0g49ss9o] {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-buttons--row .btn[b-ex0g49ss9o] {
    flex: 1 1 100%;
  }
}
/* /Components/CtaBanner.razor.rz.scp.css */
.cta-banner[b-d9kgjepjtw] {
  padding-top: 44px;
}

.cta-banner__inner[b-d9kgjepjtw] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px 40px;
}

.cta-banner__text[b-d9kgjepjtw] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 520px;
  min-width: 0;
}

.cta-banner__title[b-d9kgjepjtw] {
  margin: 0;
}

.cta-banner__lead[b-d9kgjepjtw] {
  margin: 0;
  font-size: .9375rem;
  line-height: 1.55;
  color: var(--c-on-dark-muted);
}

.cta-banner__actions[b-d9kgjepjtw] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}

.cta-banner__link[b-d9kgjepjtw] {
  font-size: .9375rem;
}

/* Phones: one column; WhatsApp across the whole width, the other pills two by two (a pill left alone at the end
   takes the whole row too). */
@media (max-width: 600px) {
  .cta-banner[b-d9kgjepjtw] {
    padding-top: 36px;
    padding-bottom: calc(var(--ridge-h) + 16px);
  }

  .cta-banner__inner[b-d9kgjepjtw] {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }

  .cta-banner__title[b-d9kgjepjtw] {
    font-size: 1.75rem;
  }

  .cta-banner__actions[b-d9kgjepjtw] {
    align-items: stretch;
  }

  .cta-banner__actions[b-d9kgjepjtw]  .contact-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .cta-banner__actions[b-d9kgjepjtw]  .contact-buttons > .btn {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding-inline: 14px;
    white-space: normal;
  }

  .cta-banner__actions[b-d9kgjepjtw]  .contact-buttons > .btn:first-child,
  .cta-banner__actions[b-d9kgjepjtw]  .contact-buttons > .btn:last-child:nth-child(even) {
    grid-column: 1 / -1;
  }

  .cta-banner__actions[b-d9kgjepjtw]  .contact-buttons > .btn:first-child {
    min-height: 50px;
  }
}
/* /Components/DestinationCard.razor.rz.scp.css */
/* Destination tile (Components/DestinationCard.razor): 3:4, radius 14, the name (Playfair 18–19px) and the region
   (12px) in white over the lower part; hover and keyboard focus lift it by 3px like the cards. */
.destination-card[b-van34amr57] {
  position: relative;
  isolation: isolate;
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: var(--r-md);
  /* The sky of the drawn scene; also what shows while a photo loads. */
  background: #24466F;
  color: var(--c-on-dark);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform var(--transition), box-shadow var(--transition);
}

.destination-card:hover[b-van34amr57],
.destination-card:focus-visible[b-van34amr57] {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.destination-card:focus-visible[b-van34amr57] {
  outline: 3px solid var(--c-accent);
  outline-offset: 3px;
}

.destination-card__scene[b-van34amr57],
.destination-card[b-van34amr57]  .destination-card__img {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.destination-card[b-van34amr57]  .destination-card__img {
  transition: transform .7s cubic-bezier(.2, .65, .3, 1);
}

.destination-card:hover[b-van34amr57]  .destination-card__img {
  transform: scale(1.04);
}

/* On a photo: a night-blue veil that deepens towards the foot, so the white name stays readable on snow and sky. */
.destination-card--photo[b-van34amr57]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(15, 30, 51, 0) 30%, rgba(15, 30, 51, .6) 62%, rgba(15, 30, 51, .9) 100%);
  pointer-events: none;
}

.destination-card__text[b-van34amr57] {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px;
}

.destination-card__name[b-van34amr57] {
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.destination-card__line[b-van34amr57] {
  font-size: .75rem;
  line-height: 1.4;
  color: var(--c-on-dark-muted);
}

@media (min-width: 601px) {
  .destination-card__text[b-van34amr57] {
    padding: 14px;
  }

  .destination-card__name[b-van34amr57] {
    font-size: 1.1875rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .destination-card[b-van34amr57],
  .destination-card[b-van34amr57]  .destination-card__img {
    transition: none;
  }

  .destination-card:hover[b-van34amr57],
  .destination-card:focus-visible[b-van34amr57],
  .destination-card:hover[b-van34amr57]  .destination-card__img {
    transform: none;
  }
}
/* /Components/FloatingWhatsApp.razor.rz.scp.css */
.fab[b-hpm3r0uj29] {
  position: fixed;
  right: max(20px, env(safe-area-inset-right, 0px));
  bottom: max(20px, env(safe-area-inset-bottom, 0px));
  z-index: 90;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--c-whatsapp);
  color: #fff;
  box-shadow: 0 10px 24px rgba(16, 30, 52, .25);
  transition: transform var(--transition), opacity var(--transition), visibility var(--transition), background-color var(--transition);
}

.fab:hover[b-hpm3r0uj29] {
  background: var(--c-whatsapp-600);
  transform: translateY(-2px);
}

.fab:active[b-hpm3r0uj29] {
  transform: scale(.97);
}

/* A two-tone ring, navy inside and white outside: the button floats over light sections and the dark footer alike
   (it is the last stop of the Tab order, so the footer is usually behind it). */
.fab:focus-visible[b-hpm3r0uj29] {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--c-primary), 0 10px 24px rgba(16, 30, 52, .25);
}

.fab[b-hpm3r0uj29]  svg {
  width: 26px;
  height: 26px;
}

/* A slow, soft ring (off with reduced motion). */
.fab__pulse[b-hpm3r0uj29] {
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 50%;
  background: var(--c-whatsapp);
  opacity: .35;
  animation: fab-pulse-b-hpm3r0uj29 3.2s ease-out infinite;
  pointer-events: none;
}

@keyframes fab-pulse-b-hpm3r0uj29 {
  0% { transform: scale(1); opacity: .35; }
  60% { transform: scale(1.6); opacity: 0; }
  100% { transform: scale(1.6); opacity: 0; }
}

.fab--hidden[b-hpm3r0uj29] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(.6);
}

/* Page hooks (see FloatingWhatsApp.razor): an element with data-hide-fab on the page hides the button. */
body:has([data-hide-fab="always"]) .fab[b-hpm3r0uj29] {
  display: none;
}

@media (max-width: 960px) {
  body:has([data-hide-fab="mobile"]) .fab[b-hpm3r0uj29] {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fab__pulse[b-hpm3r0uj29] {
    animation: none;
    opacity: 0;
  }
}

@media print {
  .fab[b-hpm3r0uj29] {
    display: none;
  }
}
/* /Components/Icon.razor.rz.scp.css */
.icon[b-5t2ikium31] {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
}
/* /Components/LanguageSwitcher.razor.rz.scp.css */
.lang[b-j4x7i4xnr9] {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border: 1px solid var(--c-on-dark-border);
  border-radius: var(--r-full);
}

/* 36px buttons (38px in the menu) with a 44px hit area (the ::after reaches 4px beyond the pill on both sides). */
.lang__btn[b-j4x7i4xnr9] {
  position: relative;
  min-width: 42px;
  min-height: 36px;
  padding: 0 11px;
  border-radius: var(--r-full);
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1;
  color: var(--c-on-dark);
  transition: background-color var(--transition), color var(--transition);
}

.lang__btn[b-j4x7i4xnr9]::after {
  content: "";
  position: absolute;
  inset: -4px -1px;
}

.lang__btn:hover[b-j4x7i4xnr9] {
  background: rgba(255, 255, 255, .12);
}

.lang__btn[aria-pressed="true"][b-j4x7i4xnr9] {
  background: #fff;
  color: var(--c-primary-700);
}

.lang__btn:focus-visible[b-j4x7i4xnr9] {
  outline: 3px solid #fff;
  outline-offset: 2px;
}

.lang--lg .lang__btn[b-j4x7i4xnr9] {
  min-width: 50px;
  min-height: 38px;
  padding: 0 14px;
  font-size: .875rem;
}

.lang--lg .lang__btn[b-j4x7i4xnr9]::after {
  inset: -3px -1px;
}
/* /Components/Lightbox.razor.rz.scp.css */
/* Full-screen viewer: a dark overlay with one column (max 960px) — top bar (counter + close), the picture, bottom bar
   (previous, caption, next). The bars keep their place on every photo; the picture is scaled into the space between. */
.lightbox[b-vocdgjfwri] {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  padding: 16px;
  background: rgba(10, 20, 36, .94);
  color: var(--c-on-dark);
  outline: none;
  touch-action: pan-y;
  animation: lightbox-in-b-vocdgjfwri .22s ease;
}

@keyframes lightbox-in-b-vocdgjfwri {
  from { opacity: 0; }
  to { opacity: 1; }
}

.lightbox__panel[b-vocdgjfwri] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  max-width: 960px;
  height: 100%;
  margin: 0 auto;
}

.lightbox__bar[b-vocdgjfwri] {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
}

/* Takes all the height the bars leave (flex-basis 0, never below 0), so the picture can never push them off the
   screen; the photo is centred in it and scaled down with its proportions (max-width/max-height 100%). */
.lightbox__frame[b-vocdgjfwri] {
  position: relative;
  flex: 1 1 0%;
  min-height: 0;
  width: 100%;
  /* The frame's size never depends on its content, so a clip can be sized from it (cqw / cqh below). */
  container-type: size;
}

.lightbox__img[b-vocdgjfwri] {
  position: absolute;
  inset: 0;
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  object-fit: contain;
  border-radius: var(--r-md);
  user-select: none;
  -webkit-user-drag: none;
  animation: lightbox-img-in-b-vocdgjfwri .3s ease;
}

/* A clip: the largest box with the clip's proportions (--lightbox-ratio = width / height, set inline) that fits the
   frame, centred. The box is sized before the clip loads (preload="none"), so the poster and the player controls
   never jump. */
.lightbox__video[b-vocdgjfwri] {
  position: absolute;
  inset: 0;
  display: block;
  width: min(100cqw, 100cqh * var(--lightbox-ratio, .5625));
  height: min(100cqh, 100cqw / var(--lightbox-ratio, .5625));
  margin: auto;
  object-fit: contain;
  border-radius: var(--r-md);
  background: #000;
  animation: lightbox-img-in-b-vocdgjfwri .3s ease;
}

.lightbox__video:focus-visible[b-vocdgjfwri] {
  outline: 3px solid var(--c-accent-300);
  outline-offset: 3px;
}

@keyframes lightbox-img-in-b-vocdgjfwri {
  from { opacity: 0; transform: scale(.985); }
  to { opacity: 1; transform: none; }
}

.lightbox__counter[b-vocdgjfwri] {
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
  color: var(--c-on-dark-muted);
}

/* The caption between the previous and next buttons: Playfair, centred, at most two lines. */
.lightbox__caption[b-vocdgjfwri] {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
  color: var(--c-on-dark);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* Round 44px outline buttons: close, previous, next. */
.lightbox__btn[b-vocdgjfwri] {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1.5px solid rgba(255, 255, 255, .6);
  border-radius: 50%;
  background: transparent;
  color: var(--c-on-dark);
  transition: background-color var(--transition), border-color var(--transition);
}

.lightbox__btn:hover[b-vocdgjfwri] {
  border-color: var(--c-on-dark);
  background: rgba(255, 255, 255, .12);
}

.lightbox__btn:focus-visible[b-vocdgjfwri] {
  outline: 3px solid var(--c-accent-300);
  outline-offset: 2px;
}

.lightbox__btn[b-vocdgjfwri]  svg {
  width: 20px;
  height: 20px;
}

@media (max-width: 600px) {
  .lightbox[b-vocdgjfwri] {
    padding: 12px;
  }

  .lightbox__panel[b-vocdgjfwri] {
    gap: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lightbox[b-vocdgjfwri],
  .lightbox__img[b-vocdgjfwri],
  .lightbox__video[b-vocdgjfwri] {
    animation: none;
  }
}
/* /Components/PageHero.razor.rz.scp.css */
/* The banner is styled globally (app.css: .band, .band--top, .band--stars, .band--ridge, .page-hero*), so a page
   that builds its own top band (the home hero, a special state of a page) can reuse the same classes. */
/* /Components/PhotoCredits.razor.rz.scp.css */
/* Compact attribution list: one short intro line, then "Author · Licence" entries side by side, wrapping. */
.photo-credits[b-x745zs66wz] {
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--c-text-muted);
}

.photo-credits__intro[b-x745zs66wz] {
  max-width: 72ch;
  margin: 0 0 8px;
}

.photo-credits__list[b-x745zs66wz] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.photo-credits__item[b-x745zs66wz] {
  min-width: 0;
}

.photo-credits__item a[b-x745zs66wz] {
  color: var(--c-text-soft);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--transition);
}

.photo-credits__item a:hover[b-x745zs66wz] {
  color: var(--c-accent-600);
}

.photo-credits__license[b-x745zs66wz] {
  white-space: nowrap;
}

/* Touch screens: 44px tall author links. */
@media (pointer: coarse) {
  .photo-credits__item a[b-x745zs66wz] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
/* /Components/ReviewCard.razor.rz.scp.css */
.review-card[b-r9ubshaekr] {
  gap: 12px;
  margin: 0;
  padding: 20px;
  border-radius: 16px;
}

.review-card__quote[b-r9ubshaekr] {
  font-size: .9375rem;
}

.review-card__who[b-r9ubshaekr] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: auto;
}

.review-card__text[b-r9ubshaekr] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.35;
}

.review-card__name[b-r9ubshaekr] {
  font-size: .875rem;
  color: var(--c-heading);
}

.review-card__meta[b-r9ubshaekr] {
  font-size: .8125rem;
  color: var(--c-text-muted);
}

.review-card__flag[b-r9ubshaekr] {
  margin-right: 4px;
}

.review-card__tour[b-r9ubshaekr] {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--c-accent-600);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.review-card__tour:hover[b-r9ubshaekr] {
  color: var(--c-accent-700);
}

@media (pointer: coarse) {
  .review-card__tour[b-r9ubshaekr] {
    min-height: 44px;
  }
}
/* /Components/SeasonSwitch.razor.rz.scp.css */
/* "Summer | Winter" switch (Components/SeasonSwitch.razor). The pill, the buttons, the pressed state (navy, white
   label) and the 44px hit area come from the shared segmented control (.seg, .seg__btn in wwwroot/css/app.css);
   this file only adds what is particular to the switch. */

/* The pressed button is the season already shown: pressing it again does nothing. */
.season-switch__btn[aria-pressed="true"][b-1s9v3ft4g0] {
  cursor: default;
}
/* /Components/SectionHeading.razor.rz.scp.css */
/* 24px between the heading and the section content; 8px between eyebrow, heading and subtitle. */
.section-heading[b-4f6r60nx5g] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 24px;
  margin-bottom: 24px;
}

.section-heading__text[b-4f6r60nx5g] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 760px;
  min-width: 0;
}

.section-heading--center[b-4f6r60nx5g] {
  justify-content: center;
  text-align: center;
}

.section-heading--center .section-heading__text[b-4f6r60nx5g] {
  align-items: center;
  margin-inline: auto;
}

.section-heading__eyebrow[b-4f6r60nx5g] {
  margin: 0;
}

.section-heading__title[b-4f6r60nx5g] {
  margin: 0;
}

.section-heading__subtitle[b-4f6r60nx5g] {
  margin: 0;
  max-width: 64ch;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--c-text-soft);
  text-wrap: pretty;
}

.band .section-heading__subtitle[b-4f6r60nx5g],
.section--dark .section-heading__subtitle[b-4f6r60nx5g] {
  color: var(--c-on-dark-muted);
}

.section-heading__action[b-4f6r60nx5g] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  min-width: 0;
}
/* /Components/TourCard.razor.rz.scp.css */
.tour-card__media-link[b-c5hrga1wqn] {
  display: block;
  width: 100%;
  height: 100%;
}

/* Length + "Popular" / "Winter" over the photo, top left; clicks pass through to the photo link. */
.tour-card__badges[b-c5hrga1wqn] {
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  pointer-events: none;
}

.tour-card__route[b-c5hrga1wqn] {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--c-text-muted);
}

.tour-card__title[b-c5hrga1wqn] {
  font-size: 1.3125rem;
}

.tour-card__facts[b-c5hrga1wqn] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--c-text-soft);
}

.tour-card__facts li[b-c5hrga1wqn] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.tour-card__facts[b-c5hrga1wqn]  svg {
  flex-shrink: 0;
  color: var(--c-accent-600);
}

/* Price + button above an inset hairline. The row wraps in narrow cards (long Russian labels, large text). */
.tour-card__foot[b-c5hrga1wqn] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 12px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--c-border-soft);
}

.tour-card__price[b-c5hrga1wqn] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 6px;
  min-width: 0;
  margin: 0;
}

.tour-card__from[b-c5hrga1wqn],
.tour-card__per[b-c5hrga1wqn] {
  font-size: .8125rem;
  color: var(--c-text-muted);
}

.tour-card__amount[b-c5hrga1wqn] {
  font-family: var(--font-heading);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.15;
  color: var(--c-heading);
  white-space: nowrap;
}

.tour-card__price--request[b-c5hrga1wqn] {
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-heading);
}

.tour-card__btn[b-c5hrga1wqn] {
  flex-shrink: 0;
  margin-left: auto;
}

/* ---- Row on phones (RowOnPhones) ------------------------------------------------ */
@media (max-width: 600px) {
  .tour-card--row[b-c5hrga1wqn] {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
  }

  .tour-card--row .tour-card__media[b-c5hrga1wqn] {
    aspect-ratio: auto;
    min-height: 184px;
    height: 100%;
  }

  .tour-card--row .tour-card__media-link[b-c5hrga1wqn] {
    position: absolute;
    inset: 0;
  }

  .tour-card--row .tour-card__badges[b-c5hrga1wqn] {
    top: 8px;
    left: 8px;
    right: 8px;
    flex-direction: column;
    gap: 4px;
  }

  .tour-card--row .tour-card__body[b-c5hrga1wqn] {
    gap: 6px;
    padding: 14px 16px;
  }

  .tour-card--row .tour-card__title[b-c5hrga1wqn] {
    font-size: 1.125rem;
  }

  .tour-card--row .tour-card__facts[b-c5hrga1wqn] {
    gap: 2px 12px;
  }

  .tour-card--row .tour-card__facts li[b-c5hrga1wqn] {
    white-space: nowrap;
  }

  .tour-card--row .tour-card__foot[b-c5hrga1wqn] {
    flex-wrap: nowrap;
    gap: 8px;
    padding-top: 10px;
  }

  .tour-card--row .tour-card__amount[b-c5hrga1wqn] {
    font-size: 1.25rem;
  }

  /* The button becomes a 44px round arrow; its label stays for screen readers. */
  .tour-card--row .tour-card__btn[b-c5hrga1wqn] {
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
  }

  .tour-card--row .tour-card__btn-label[b-c5hrga1wqn] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
}
/* /Components/WinterToursBlock.razor.rz.scp.css */
/* "Winter tours on request" (WinterToursBlock.razor), compact like the tour cards: a white card with a 1px border and
   radius 18, cover + text side by side (full variant from 900px, compact from 768px), then the photo and clip strips
   (full variant). Ice-blue winter accents (--c-winter-*) on the site palette. Mobile-first from 320px. */

.winter-block[b-vpxhg7k8e7] {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
}

/* ---- Cover + text ---------------------------------------------------------- */
.winter-block__main[b-vpxhg7k8e7] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

@media (min-width: 900px) {
  .winter-block--full .winter-block__main[b-vpxhg7k8e7] {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }
}

@media (min-width: 768px) {
  .winter-block--compact .winter-block__main[b-vpxhg7k8e7] {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }
}

/* No picture at all yet: the text takes the whole card. */
.winter-block.winter-block--text-only .winter-block__main[b-vpxhg7k8e7] {
  grid-template-columns: minmax(0, 1fr);
}

.winter-block__media[b-vpxhg7k8e7] {
  position: relative;
  min-height: 0;
  aspect-ratio: 16 / 9;
  background: var(--c-winter-100);
}

@media (min-width: 900px) {
  .winter-block--full .winter-block__media[b-vpxhg7k8e7] {
    aspect-ratio: auto;
    min-height: 340px;
  }
}

@media (min-width: 768px) {
  .winter-block--compact .winter-block__media[b-vpxhg7k8e7] {
    aspect-ratio: auto;
    min-height: 260px;
  }
}

/* The cover opens the Lightbox (it is its first item) */
.winter-block__cover[b-vpxhg7k8e7] {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: none;
  color: var(--c-text-inverse);
  cursor: zoom-in;
  -webkit-tap-highlight-color: transparent;
}

.winter-block__cover--video[b-vpxhg7k8e7] {
  cursor: pointer;
}

.winter-block__cover:focus-visible[b-vpxhg7k8e7] {
  outline: 3px solid var(--c-accent);
  outline-offset: -3px;
}

.winter-block__media[b-vpxhg7k8e7]  .winter-block__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2, .65, .3, 1);
}

.winter-block__cover:hover[b-vpxhg7k8e7]  .winter-block__img,
.winter-block__cover:focus-visible[b-vpxhg7k8e7]  .winter-block__img {
  transform: scale(1.03);
}

.winter-block__zoom[b-vpxhg7k8e7] {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(15, 30, 51, .72);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  transition: background-color var(--transition);
}

.winter-block__cover--video .winter-block__zoom[b-vpxhg7k8e7]  svg {
  margin-left: 2px;
  fill: currentColor;
}

.winter-block__cover:hover .winter-block__zoom[b-vpxhg7k8e7],
.winter-block__cover:focus-visible .winter-block__zoom[b-vpxhg7k8e7] {
  background: var(--c-accent-600);
}

.winter-block__body[b-vpxhg7k8e7] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  padding: 18px 16px 20px;
  background: linear-gradient(180deg, var(--c-winter-100) 0%, var(--c-surface) 78%);
}

@media (min-width: 600px) {
  .winter-block__body[b-vpxhg7k8e7] {
    padding: 22px 24px 24px;
  }
}

@media (min-width: 900px) {
  .winter-block--full .winter-block__body[b-vpxhg7k8e7] {
    justify-content: center;
    padding: 28px 32px;
  }
}

@media (min-width: 768px) {
  .winter-block--compact .winter-block__body[b-vpxhg7k8e7] {
    justify-content: center;
  }
}

.winter-block__eyebrow[b-vpxhg7k8e7] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--c-winter-600);
}

.winter-block__title[b-vpxhg7k8e7] {
  margin: -4px 0 0;
  font-size: clamp(1.375rem, 1.1rem + .9vw, 1.625rem);
  line-height: 1.2;
}

.winter-block--compact .winter-block__title[b-vpxhg7k8e7] {
  font-size: 1.3125rem;
}

.winter-block__text[b-vpxhg7k8e7] {
  max-width: 62ch;
  margin: 0;
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--c-text-soft);
}

/* How a winter trip is arranged: one wrapping row of small ice-blue tiles */
.winter-block__points[b-vpxhg7k8e7] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.winter-block__points li[b-vpxhg7k8e7] {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.4;
}

.winter-block__point-icon[b-vpxhg7k8e7] {
  flex: none;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: var(--c-surface);
  color: var(--c-winter-600);
  box-shadow: inset 0 0 0 1px var(--c-winter-300);
}

.winter-block__price[b-vpxhg7k8e7] {
  margin: 0;
}

.winter-block__actions[b-vpxhg7k8e7] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding-top: 2px;
}

.winter-block__more[b-vpxhg7k8e7] {
  min-height: 44px;
}

@media (max-width: 480px) {
  .winter-block__actions[b-vpxhg7k8e7] {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .winter-block__actions .btn[b-vpxhg7k8e7],
  .winter-block__actions .link[b-vpxhg7k8e7] {
    justify-content: center;
  }
}

/* ---- Thumbnails (strips and the compact row) ------------------------------------ */
.winter-thumb[b-vpxhg7k8e7] {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  padding: 0;
  border: 0;
  border-radius: 12px;
  overflow: hidden;
  background: var(--c-winter-100);
  color: var(--c-text-inverse);
  cursor: zoom-in;
  isolation: isolate;
  -webkit-tap-highlight-color: transparent;
}

.winter-thumb--video[b-vpxhg7k8e7] {
  cursor: pointer;
}

.winter-thumb:focus-visible[b-vpxhg7k8e7] {
  outline: 3px solid var(--c-accent);
  outline-offset: 3px;
}

.winter-thumb[b-vpxhg7k8e7]  .winter-thumb__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.2, .65, .3, 1);
}

.winter-thumb:hover[b-vpxhg7k8e7]  .winter-thumb__img,
.winter-thumb:focus-visible[b-vpxhg7k8e7]  .winter-thumb__img {
  transform: scale(1.05);
}

/* A clip: darker bottom edge for the length, a round play mark in the middle */
.winter-thumb--video[b-vpxhg7k8e7]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 30, 51, 0) 55%, rgba(15, 30, 51, .6) 100%);
  pointer-events: none;
}

.winter-thumb__play[b-vpxhg7k8e7] {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1.5px solid rgba(255, 255, 255, .85);
  border-radius: 50%;
  background: rgba(15, 30, 51, .5);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  transform: translate(-50%, -50%);
  transition: background-color var(--transition), transform var(--transition);
}

.winter-thumb__play[b-vpxhg7k8e7]  svg {
  margin-left: 2px;
  fill: currentColor;
}

.winter-thumb:hover .winter-thumb__play[b-vpxhg7k8e7],
.winter-thumb:focus-visible .winter-thumb__play[b-vpxhg7k8e7] {
  background: var(--c-accent-600);
  transform: translate(-50%, -50%) scale(1.06);
}

.winter-thumb__time[b-vpxhg7k8e7] {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 1;
  padding: 2px 8px;
  border-radius: var(--r-full);
  background: rgba(15, 30, 51, .72);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}

/* ---- Full variant: photo and clip strips ---------------------------------------
   Phones and tablets: one row each that scrolls sideways (scroll snap); from 900px a grid of six columns. */
.winter-block__gallery[b-vpxhg7k8e7] {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: 18px 16px 20px;
  border-top: 1px solid var(--c-border-soft);
}

@media (min-width: 600px) {
  .winter-block__gallery[b-vpxhg7k8e7] {
    padding: 22px 24px 24px;
  }
}

.winter-block__group[b-vpxhg7k8e7] {
  min-width: 0;
}

.winter-block__group-title[b-vpxhg7k8e7] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  font-family: var(--font-body);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--c-text-muted);
}

.winter-block__group-title[b-vpxhg7k8e7]  svg {
  color: var(--c-winter-600);
}

.winter-strip[b-vpxhg7k8e7] {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 120px;
  gap: 10px;
  margin: 0 -16px;
  padding: 4px 16px 10px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 16px;
  list-style: none;
  scrollbar-width: thin;
  scrollbar-color: #D6CCBB transparent;
  -webkit-overflow-scrolling: touch;
}

.winter-strip > li[b-vpxhg7k8e7] {
  min-width: 0;
  scroll-snap-align: start;
}

/* Tablets: the same sideways row, a little wider, running to the card edges of the wider padding. */
@media (min-width: 600px) and (max-width: 899px) {
  .winter-strip[b-vpxhg7k8e7] {
    grid-auto-columns: 136px;
    gap: 12px;
    margin: 0 -24px;
    padding: 4px 24px 10px;
    scroll-padding-inline: 24px;
  }
}

/* Desktop: a grid of six columns across the card, so six winter photos fill exactly one row. */
@media (min-width: 900px) {
  .winter-strip[b-vpxhg7k8e7] {
    grid-auto-flow: row;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-columns: auto;
    gap: 12px;
    margin: 0;
    padding: 0;
    overflow: visible;
  }
}

/* ---- Compact variant: one row of small thumbnails under the buttons -------------- */
.winter-block__mini[b-vpxhg7k8e7] {
  display: grid;
  grid-template-columns: repeat(var(--mini-count, 5), minmax(0, 64px));
  gap: 8px;
  width: 100%;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}

.winter-block__mini .winter-thumb[b-vpxhg7k8e7] {
  aspect-ratio: 1 / 1;
  border-radius: 10px;
}

.winter-block__mini .winter-thumb__play[b-vpxhg7k8e7] {
  width: 30px;
  height: 30px;
}

.winter-block__mini .winter-thumb__play[b-vpxhg7k8e7]  svg {
  width: 14px;
  height: 14px;
}

.winter-block__mini .winter-thumb__time[b-vpxhg7k8e7] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .winter-thumb:hover[b-vpxhg7k8e7]  .winter-thumb__img,
  .winter-thumb:focus-visible[b-vpxhg7k8e7]  .winter-thumb__img,
  .winter-block__cover:hover[b-vpxhg7k8e7]  .winter-block__img,
  .winter-block__cover:focus-visible[b-vpxhg7k8e7]  .winter-block__img {
    transform: none;
  }

  .winter-thumb:hover .winter-thumb__play[b-vpxhg7k8e7],
  .winter-thumb:focus-visible .winter-thumb__play[b-vpxhg7k8e7] {
    transform: translate(-50%, -50%);
  }
}
/* /Layout/Footer.razor.rz.scp.css */
.footer[b-jrfgor5kr5] {
  margin-top: auto;
  padding-block: 36px 22px;
  background: var(--c-night-900);
  color: var(--c-on-dark-soft);
  font-size: .875rem;
  line-height: 1.5;
}

/* Phones: brand; Tours | Company side by side; Contacts (two columns inside). Tablets: brand on its own row, then the
   three lists. Desktop: four columns. */
.footer__grid[b-jrfgor5kr5] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas:
    "brand brand"
    "tours company"
    "contacts contacts";
  gap: 20px 16px;
}

.footer__brand[b-jrfgor5kr5] {
  grid-area: brand;
}

.footer__col--tours[b-jrfgor5kr5] {
  grid-area: tours;
}

.footer__col--company[b-jrfgor5kr5] {
  grid-area: company;
}

.footer__col--contacts[b-jrfgor5kr5] {
  grid-area: contacts;
}

@media (min-width: 601px) {
  .footer__grid[b-jrfgor5kr5] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
      "brand brand brand"
      "tours company contacts";
    gap: 24px 32px;
  }
}

@media (min-width: 961px) {
  .footer__grid[b-jrfgor5kr5] {
    grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
    grid-template-areas: "brand tours company contacts";
  }
}

/* ---- Brand ------------------------------------------------------------ */
.footer__logo[b-jrfgor5kr5] {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  border-radius: var(--r-sm);
}

.footer__logo img[b-jrfgor5kr5] {
  display: block;
  width: auto;
  height: 40px;
}

.footer__tagline[b-jrfgor5kr5] {
  max-width: 30ch;
  margin: 6px 0 0;
}

/* ---- Columns ---------------------------------------------------------- */
.footer__heading[b-jrfgor5kr5] {
  margin: 0 0 4px;
  font-family: var(--font-body);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-on-dark);
}

.footer__links[b-jrfgor5kr5] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

/* Links stack at a 32px pitch with a pointer; 44px touch targets on phones, tablets and touch screens. */
.footer__links a[b-jrfgor5kr5],
.footer__address[b-jrfgor5kr5] {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding-block: 4px;
  line-height: 1.35;
  color: var(--c-on-dark-soft);
  overflow-wrap: anywhere;
  transition: color var(--transition);
}

.footer__links a:hover[b-jrfgor5kr5],
.footer__address:hover[b-jrfgor5kr5] {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer__links .footer__all[b-jrfgor5kr5] {
  color: var(--c-accent-300);
}

.footer__links .footer__all:hover[b-jrfgor5kr5] {
  color: var(--c-accent-200);
}

/* Contacts: "WhatsApp: +996 …" on one line from 961px; label above value in two columns below. */
.footer__links--contacts a[b-jrfgor5kr5] {
  flex-wrap: wrap;
  gap: 0 5px;
}

.footer__label[b-jrfgor5kr5] {
  font-weight: 700;
  color: var(--c-on-dark);
}

@media (min-width: 961px) {
  .footer__label[b-jrfgor5kr5]::after {
    content: ":";
  }
}

@media (max-width: 960.98px) {
  .footer__links--contacts[b-jrfgor5kr5] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
  }

  .footer__links--contacts a[b-jrfgor5kr5] {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }

  .footer__label[b-jrfgor5kr5] {
    font-size: .75rem;
  }
}

@media (min-width: 601px) and (max-width: 960.98px) {
  .footer__links--contacts[b-jrfgor5kr5] {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 960.98px), (pointer: coarse) {
  .footer__links a[b-jrfgor5kr5],
  .footer__address[b-jrfgor5kr5] {
    min-height: 44px;
  }
}

.footer__contacts[b-jrfgor5kr5] {
  font-style: normal;
}

/* ---- Bottom line ------------------------------------------------------ */
.footer__bottom[b-jrfgor5kr5] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 16px;
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px solid var(--c-on-dark-line);
  font-size: .8125rem;
}

.footer__bottom p[b-jrfgor5kr5] {
  margin: 0;
}

.footer__credits[b-jrfgor5kr5] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--c-on-dark-soft);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--transition);
}

.footer__credits:hover[b-jrfgor5kr5] {
  color: #fff;
}

.footer :focus-visible[b-jrfgor5kr5] {
  outline-color: #fff;
}

/* Phones: room under the bottom line for the floating WhatsApp button. */
@media (max-width: 600px) {
  .footer[b-jrfgor5kr5] {
    padding-block: 30px 40px;
  }

  .footer__bottom[b-jrfgor5kr5] {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* /Layout/Header.razor.rz.scp.css */
/* ---- Fixed bar -----------------------------------------------------------
   Transparent over the dark top band of the page (the band reserves var(--header-h) at its top, app.css .band--top);
   solid night-blue with a shadow once the page is scrolled (site.js sets html.is-scrolled) and on a page that does
   not start with a dark band (the safety net in app.css gives such a page the header height as top padding). */
.header[b-tnqis3qe3x] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  color: var(--c-on-dark);
}

.header__bar[b-tnqis3qe3x] {
  height: var(--header-h);
  background: transparent;
  transition: background-color var(--transition), box-shadow var(--transition);
}

html.is-scrolled .header__bar[b-tnqis3qe3x] {
  background: var(--c-night);
  box-shadow: 0 6px 24px rgba(8, 16, 30, .28);
}

/* A separate rule: a browser without :has() drops only this one. */
body:not(:has(.band--top, .hero)) .header__bar[b-tnqis3qe3x] {
  background: var(--c-night);
  box-shadow: 0 6px 24px rgba(8, 16, 30, .28);
}

.header__inner[b-tnqis3qe3x] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 100%;
}

.header__logo[b-tnqis3qe3x] {
  display: inline-flex;
  align-items: center;
  flex-shrink: 1;
  min-width: 0;
  min-height: 44px;
  border-radius: var(--r-sm);
}

.header__logo img[b-tnqis3qe3x] {
  display: block;
  width: auto;
  max-width: 100%;
  height: 40px;
}

.header__logo:focus-visible[b-tnqis3qe3x],
.header__link:focus-visible[b-tnqis3qe3x],
.header__burger:focus-visible[b-tnqis3qe3x] {
  outline-color: #fff;
}

/* ---- Desktop navigation (from 961px) -------------------------------------- */
.header__nav[b-tnqis3qe3x] {
  display: none;
  align-items: center;
  gap: clamp(18px, 2.2vw, 30px);
  margin-inline: auto;
}

.header__link[b-tnqis3qe3x] {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: .9375rem;
  font-weight: 600;
  color: var(--c-on-dark);
  white-space: nowrap;
  transition: color var(--transition);
}

.header__link:hover[b-tnqis3qe3x],
.header__link.is-active[b-tnqis3qe3x] {
  color: var(--c-accent-300);
}

/* The current section is also marked by a short saffron line (not by colour alone). */
.header__link.is-active[b-tnqis3qe3x]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  height: 2px;
  border-radius: 2px;
  background: var(--c-accent-300);
}

/* ---- Actions ----------------------------------------------------------- */
.header__actions[b-tnqis3qe3x] {
  display: flex;
  flex: none;
  align-items: center;
  gap: 8px;
}

.header__book[b-tnqis3qe3x] {
  display: none;
}

.header__book:focus-visible[b-tnqis3qe3x] {
  outline-color: #fff;
}

.header__burger[b-tnqis3qe3x] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--c-on-dark-border);
  border-radius: var(--r-full);
  color: var(--c-on-dark);
  transition: background-color var(--transition), border-color var(--transition);
}

.header__burger:hover[b-tnqis3qe3x] {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .6);
}

/* Narrow phones: the logo shrinks so logo + EN | RU + burger fit in one row down to 320px. */
@media (max-width: 399.98px) {
  .header__logo img[b-tnqis3qe3x] {
    height: 34px;
  }
}

@media (max-width: 359.98px) {
  .header__logo img[b-tnqis3qe3x] {
    height: 30px;
  }
}

@media (min-width: 961px) {
  .header__inner[b-tnqis3qe3x] {
    gap: 24px;
  }

  .header__logo img[b-tnqis3qe3x] {
    height: 44px;
  }

  .header__nav[b-tnqis3qe3x] {
    display: flex;
  }

  .header__book[b-tnqis3qe3x] {
    display: inline-flex;
  }

  .header__burger[b-tnqis3qe3x] {
    display: none;
  }

  .header__actions[b-tnqis3qe3x] {
    gap: 12px;
  }
}

/* ---- Full-screen menu (≤ 960px) -----------------------------------------
   Night-blue, over the whole screen; the low ridge with the saffron sun sits at its foot (two background layers:
   the ridge on top of the sun), the content scrolls over it on short screens. */
.mobile-menu[b-tnqis3qe3x] {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: flex;
  flex-direction: column;
  padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
  color: var(--c-on-dark);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 44 L140 22 L250 48 L360 18 L520 44 L700 12 L860 42 L1020 16 L1200 46 L1440 20 V80 H0Z' fill='%231E3A5F'/%3E%3Cpath d='M0 64 C300 56 600 54 900 58 S1300 66 1440 64 V80 H0Z' fill='%230F1E33'/%3E%3C/svg%3E") center bottom / 100% var(--ridge-h) no-repeat,
    radial-gradient(circle closest-side, var(--c-accent-300) 0 96%, transparent 100%) right 22% bottom 38px / 48px 48px no-repeat,
    var(--c-night);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
}

.mobile-menu.is-open[b-tnqis3qe3x] {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity .25s ease, transform .25s ease;
}

.mobile-menu__head[b-tnqis3qe3x] {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: var(--header-h);
}

.mobile-menu__logo[b-tnqis3qe3x] {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 44px;
  border-radius: var(--r-sm);
}

.mobile-menu__logo img[b-tnqis3qe3x] {
  display: block;
  width: auto;
  max-width: 100%;
  height: 40px;
}

.mobile-menu__close[b-tnqis3qe3x] {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--c-on-dark-border);
  border-radius: var(--r-full);
  color: var(--c-on-dark);
  transition: background-color var(--transition), border-color var(--transition);
}

.mobile-menu__close:hover[b-tnqis3qe3x] {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .6);
}

.mobile-menu :focus-visible[b-tnqis3qe3x] {
  outline-color: #fff;
}

.mobile-menu__body[b-tnqis3qe3x] {
  max-width: 640px;
  margin-inline: 0;
}

.mobile-menu__nav[b-tnqis3qe3x] {
  display: flex;
  flex-direction: column;
  margin-top: 16px;
  border-top: 1px solid var(--c-on-dark-line);
}

.mobile-menu__link[b-tnqis3qe3x] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 10px 0;
  border-bottom: 1px solid var(--c-on-dark-line);
  font-family: var(--font-heading);
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--c-on-dark);
  transition: color var(--transition);
}

.mobile-menu__link[b-tnqis3qe3x]  svg {
  flex: none;
  color: var(--c-accent-300);
  transition: transform var(--transition);
}

.mobile-menu__link:hover[b-tnqis3qe3x],
.mobile-menu__link.is-active[b-tnqis3qe3x] {
  color: var(--c-accent-300);
}

.mobile-menu__link:hover[b-tnqis3qe3x]  svg {
  transform: translateX(3px);
}

.mobile-menu__lang[b-tnqis3qe3x] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
}

.mobile-menu__lang-label[b-tnqis3qe3x] {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-on-dark-soft);
}

.mobile-menu__actions[b-tnqis3qe3x] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 24px;
}

.mobile-menu__actions .btn[b-tnqis3qe3x] {
  white-space: normal;
}

@media (max-width: 399.98px) {
  .mobile-menu__logo img[b-tnqis3qe3x] {
    height: 34px;
  }
}

@media (min-width: 961px) {
  .mobile-menu[b-tnqis3qe3x] {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu[b-tnqis3qe3x],
  .header__bar[b-tnqis3qe3x] {
    transition: none;
  }
}
/* /Layout/MainLayout.razor.rz.scp.css */
.site-main[b-gu4413ran5] {
  display: block;
  min-height: calc(100vh - var(--header-h));
  min-height: calc(100dvh - var(--header-h));
  outline: none;
}
/* /Pages/About.razor.rz.scp.css */
/* About page — page-specific styles (CSS isolation). Uses the tokens from wwwroot/css/app.css.
   Child components (Icon, ReviewCard) are reached with ::deep. */

/* ---- Story: photo 16:10 + text (two columns from ~960px, one below) ------- */
.about-story__grid[b-92w86gzi8u] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr));
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}

.about-story__media[b-92w86gzi8u] {
  position: relative;
  aspect-ratio: 16 / 10;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--c-primary-600);
}

/* Without a photo: the night sky behind the drawn scene (as the home page's about block). */
.about-story__media--scene[b-92w86gzi8u] {
  background: #24466F;
}

.about-story__scene[b-92w86gzi8u] {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}

.about-story__text[b-92w86gzi8u] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.about-story__text > *[b-92w86gzi8u] {
  margin: 0;
}

.about-story__p[b-92w86gzi8u] {
  font-size: 1rem;
  color: var(--c-text-soft);
  text-wrap: pretty;
}

.about-story__start[b-92w86gzi8u] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .875rem;
  font-weight: 600;
  color: var(--c-text-soft);
}

.about-story__start[b-92w86gzi8u]  svg {
  flex: none;
  color: var(--c-accent-600);
}

/* ---- Numbers: a slim navy band -------------------------------------------- */
.about-stats[b-92w86gzi8u] {
  padding-block: clamp(28px, 3vw, 36px);
}

.about-stats__list[b-92w86gzi8u] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
  gap: 18px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-stats__item[b-92w86gzi8u] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.about-stats__value[b-92w86gzi8u] {
  font-family: var(--font-heading);
  font-size: clamp(1.875rem, 6vw, 2.5rem);
  font-weight: 700;
  line-height: 1;
  color: var(--c-on-dark);
  overflow-wrap: anywhere;
}

.about-stats__label[b-92w86gzi8u] {
  font-size: .875rem;
  line-height: 1.5;
  color: var(--c-on-dark-muted);
  text-wrap: pretty;
}

.about-stats__list > .reveal:nth-child(2)[b-92w86gzi8u] { transition-delay: .08s; }
.about-stats__list > .reveal:nth-child(3)[b-92w86gzi8u] { transition-delay: .16s; }
.about-stats__list > .reveal:nth-child(4)[b-92w86gzi8u] { transition-delay: .24s; }

/* ---- Why travel with us: a compact strip of four points ------------------- */
.about-why__title[b-92w86gzi8u] {
  margin: 0 0 22px;
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  line-height: 1.2;
}

.about-why__list[b-92w86gzi8u] {
  display: grid;
  /* 148px: two columns from a 360px screen, four on desktop */
  grid-template-columns: repeat(auto-fit, minmax(min(148px, 100%), 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-why__item[b-92w86gzi8u] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
}

.about-why__name[b-92w86gzi8u] {
  margin: 0;
  font-family: var(--font-body);
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

.about-why__text[b-92w86gzi8u] {
  margin: 0;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--c-text-muted);
}

.about-why__list > .reveal:nth-child(2)[b-92w86gzi8u] { transition-delay: .08s; }
.about-why__list > .reveal:nth-child(3)[b-92w86gzi8u] { transition-delay: .16s; }
.about-why__list > .reveal:nth-child(4)[b-92w86gzi8u] { transition-delay: .24s; }

/* ---- Photo strip ------------------------------------------------------------ */
.about-photos__grid[b-92w86gzi8u] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.about-photos__item[b-92w86gzi8u] {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  aspect-ratio: 4 / 5; /* the strip photos are portrait */
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--c-surface-alt);
  cursor: zoom-in;
  transition: transform var(--transition), box-shadow var(--transition);
  -webkit-tap-highlight-color: transparent;
}

.about-photos__item:hover[b-92w86gzi8u] {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.about-photos__item:focus-visible[b-92w86gzi8u] {
  outline: 3px solid var(--c-accent-600);
  outline-offset: 3px;
}

.about-photos__grid > .reveal:nth-child(2)[b-92w86gzi8u] { transition-delay: .08s; }
.about-photos__grid > .reveal:nth-child(3)[b-92w86gzi8u] { transition-delay: .16s; }
.about-photos__grid > .reveal:nth-child(4)[b-92w86gzi8u] { transition-delay: .24s; }

.about-photos__credits[b-92w86gzi8u] {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--c-border);
}

@media (min-width: 760px) {
  .about-photos__grid[b-92w86gzi8u] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ---- Review teaser: heading on the left, one review on the right ---------- */
.about-reviews__inner[b-92w86gzi8u] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px clamp(28px, 4vw, 56px);
}

.about-reviews__head[b-92w86gzi8u] {
  display: flex;
  flex: 1 1 280px;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}

.about-reviews__head > *[b-92w86gzi8u] {
  margin: 0;
}

.about-reviews__card[b-92w86gzi8u] {
  flex: 2.4 1 420px;
  min-width: 0;
}

.about-reviews__card[b-92w86gzi8u]  .review-card {
  padding: 22px 24px;
}

.about-reviews__card[b-92w86gzi8u]  .review-card__quote {
  font-family: var(--font-heading);
  font-size: clamp(1.1875rem, 1.8vw, 1.375rem);
  font-style: italic;
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-heading);
}

@media (prefers-reduced-motion: reduce) {
  .about-photos__item[b-92w86gzi8u],
  .about-photos__item:hover[b-92w86gzi8u] {
    transition: none;
    transform: none;
  }
}
/* /Pages/Contact.razor.rz.scp.css */
/* Contact page — page-specific styles (CSS isolation). Tokens and global classes come from wwwroot/css/app.css.
   Two columns that wrap into one below ~950px (flex-basis 400px / 480px, as in the design): the ways to reach us
   and the enquiry card. Single column from 320px; nothing here may overflow. */

/* ---- Layout -------------------------------------------------------------------- */
.contact-main__layout[b-uplxc5j1ro] {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 28px clamp(24px, 3.2vw, 40px);
}

/* Left column. Side by side with the form it is stretched to the form's height, and the map takes the extra room,
   so both columns end on one line however many contact rows there are. */
.contact-channels[b-uplxc5j1ro] {
  flex: 1 1 min(400px, 100%);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.contact-channels[b-uplxc5j1ro]  .section-heading {
  margin-bottom: 0;
}

.contact-channels[b-uplxc5j1ro]  .section-heading__subtitle {
  font-size: .9375rem;
}

.contact-channels__body[b-uplxc5j1ro] {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ---- WhatsApp: the highlighted green row --------------------------------------------- */
.contact-wa[b-uplxc5j1ro] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 8px 14px;
  border-radius: var(--r-md);
  background: var(--c-whatsapp);
  color: #fff;
  transition: background-color .2s ease;
}

.contact-wa:hover[b-uplxc5j1ro] {
  background: var(--c-whatsapp-600);
  color: #fff;
}

.contact-wa__icon[b-uplxc5j1ro] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
}

.contact-wa__text[b-uplxc5j1ro] {
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

.contact-wa__label[b-uplxc5j1ro] {
  font-size: .8125rem;
  font-weight: 600;
}

.contact-wa__value[b-uplxc5j1ro] {
  font-size: .9375rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

/* ---- Other ways: a compact list in one white card ---------------------------------------- */
.contact-rows[b-uplxc5j1ro] {
  list-style: none;
  margin: 0;
  padding: 4px;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  background: var(--c-surface);
}

.contact-rows > li + li[b-uplxc5j1ro] {
  border-top: 1px solid var(--c-border-soft);
}

.contact-row[b-uplxc5j1ro] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 8px 10px;
  border-radius: 12px;
  color: var(--c-text);
  transition: background-color .2s ease;
}

a.contact-row:hover[b-uplxc5j1ro] {
  background: var(--c-bg);
}

.contact-row__icon[b-uplxc5j1ro] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--c-accent-100);
  color: var(--c-accent-600);
}

.contact-row__text[b-uplxc5j1ro] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

.contact-row__label[b-uplxc5j1ro] {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--c-text-muted);
}

.contact-row__value[b-uplxc5j1ro] {
  font-size: .9375rem;
  font-weight: 700;
  color: var(--c-primary-700);
  overflow-wrap: anywhere;
}

.contact-row[b-uplxc5j1ro]  .contact-row__arrow {
  flex: none;
  color: var(--c-accent-600);
}

/* "Google Maps ↗" at the end of the address row */
.contact-row__map[b-uplxc5j1ro] {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 44px;
  padding: 0 4px;
  border-radius: var(--r-sm);
  font-size: .875rem;
  font-weight: 700;
  color: var(--c-accent-600);
  transition: color .2s ease;
}

.contact-row__map:hover[b-uplxc5j1ro] {
  color: var(--c-accent-700);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---- Map (Google Maps embed) ------------------------------------------------------------- */
.contact-map[b-uplxc5j1ro] {
  position: relative;
  flex: 1 1 auto;
  min-height: 220px;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-surface-alt);
}

.contact-map__frame[b-uplxc5j1ro] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ---- Company line ---------------------------------------------------------------------- */
.contact-company[b-uplxc5j1ro] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 2px 0 0;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--c-text-muted);
}

.contact-company[b-uplxc5j1ro]  svg {
  flex: none;
  margin-top: 2px;
}

.contact-company strong[b-uplxc5j1ro] {
  color: var(--c-text-soft);
}

/* ---- Enquiry card ------------------------------------------------------------------------ */
.enquiry[b-uplxc5j1ro] {
  flex: 1.2 1 min(480px, 100%);
  align-self: flex-start;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: clamp(16px, 1.6vw, 20px);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
}

/* Focused by "#enquiry" links (site.scrollTo) only to move the reading position: no ring around the whole card. */
.enquiry:focus[b-uplxc5j1ro] {
  outline: none;
}

.enquiry__head[b-uplxc5j1ro] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.enquiry__title[b-uplxc5j1ro] {
  margin: 0;
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  line-height: 1.2;
}

.enquiry__lead[b-uplxc5j1ro] {
  margin: 0;
  font-size: .9375rem;
  color: var(--c-text-soft);
}

.enquiry__form[b-uplxc5j1ro] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

/* Fields: two columns in a wide card, one on phones (auto-fit, at least 200px each). */
.enquiry__fields[b-uplxc5j1ro] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
  gap: 14px;
  align-items: start;
}

.enquiry__wide[b-uplxc5j1ro] {
  grid-column: 1 / -1;
}

.enquiry .form__label[b-uplxc5j1ro] {
  color: var(--c-primary-700);
}

/* Fields of the card: 48px, a darker border (#8A8070: 3.6:1 on the cream fill, 3.9:1 on white), cream fill, 16px
   text (no zoom on iOS); on focus the border turns navy, the fill white and a saffron ring appears. */
.enquiry .form__input[b-uplxc5j1ro],
.enquiry .form__select[b-uplxc5j1ro],
.enquiry .form__textarea[b-uplxc5j1ro] {
  min-height: 48px;
  padding: 10px 14px;
  border-color: #8A8070;
  background-color: var(--c-bg);
  font-size: 1rem;
  font-weight: 500;
}

.enquiry .form__select[b-uplxc5j1ro] {
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238C5B06' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.enquiry .form__textarea[b-uplxc5j1ro] {
  min-height: 76px;
  padding: 11px 14px;
  line-height: 1.5;
}

.enquiry .form__input[b-uplxc5j1ro]::placeholder,
.enquiry .form__textarea[b-uplxc5j1ro]::placeholder {
  color: var(--c-text-muted);
  opacity: 1;
}

.enquiry .form__input:hover[b-uplxc5j1ro],
.enquiry .form__select:hover[b-uplxc5j1ro],
.enquiry .form__textarea:hover[b-uplxc5j1ro] {
  border-color: var(--c-text-muted);
}

.enquiry .form__input:focus[b-uplxc5j1ro],
.enquiry .form__select:focus[b-uplxc5j1ro],
.enquiry .form__textarea:focus[b-uplxc5j1ro] {
  outline: 3px solid var(--c-accent);
  outline-offset: 1px;
  border-color: var(--c-primary);
  background-color: var(--c-surface);
  box-shadow: none;
}

.enquiry .form__input.invalid[b-uplxc5j1ro] {
  border-color: var(--c-accent-600);
  box-shadow: inset 0 0 0 1px var(--c-accent-600);
  background-color: var(--c-accent-100);
}

.enquiry__meta[b-uplxc5j1ro] {
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--c-text-muted);
}

/* ---- People stepper ------------------------------------------------------------------------ */
.stepper-field[b-uplxc5j1ro] {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.stepper-field__legend[b-uplxc5j1ro] {
  margin: 0 0 6px;
  padding: 0;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--c-primary-700);
}

.stepper-field__max[b-uplxc5j1ro] {
  font-weight: 600;
  color: var(--c-text-muted);
}

.stepper[b-uplxc5j1ro] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 48px;
  padding: 0 2px;
  border: 1px solid #8A8070;
  border-radius: 12px;
  background: var(--c-bg);
}

.stepper__btn[b-uplxc5j1ro] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--c-border);
  border-radius: 10px;
  background: var(--c-surface);
  color: var(--c-primary);
  transition: border-color .2s ease, background-color .2s ease;
}

.stepper__btn:hover:not([aria-disabled="true"])[b-uplxc5j1ro] {
  border-color: var(--c-primary);
  background: var(--c-primary-100);
}

.stepper__btn[aria-disabled="true"][b-uplxc5j1ro] {
  opacity: .4;
  cursor: not-allowed;
}

.stepper__value[b-uplxc5j1ro] {
  min-width: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-primary-700);
  text-align: center;
}

/* ---- Message preview ------------------------------------------------------------------------- */
.enquiry__preview[b-uplxc5j1ro] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px 14px;
  border-radius: var(--r-md);
  background: var(--c-surface-alt);
}

.enquiry__preview-title[b-uplxc5j1ro] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-text-muted);
}

.enquiry__preview-dot[b-uplxc5j1ro] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--c-whatsapp);
  color: #fff;
}

/* A sent-message bubble: the bottom-right corner is the tail. */
.enquiry__bubble[b-uplxc5j1ro] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 14px;
  border: 1px solid var(--c-border);
  border-radius: 12px 12px 4px 12px;
  background: var(--c-surface);
  font-size: .875rem;
  line-height: 1.5;
  color: var(--c-text);
  overflow-wrap: anywhere;
}

.enquiry__bubble p[b-uplxc5j1ro] {
  margin: 0;
}

.enquiry__bubble .enquiry__greeting[b-uplxc5j1ro] {
  margin-bottom: 2px;
}

.enquiry__bubble .enquiry__closing[b-uplxc5j1ro] {
  margin-top: 2px;
}

.enquiry__line-label[b-uplxc5j1ro] {
  font-weight: 700;
  color: var(--c-primary-700);
}

/* A comment may have several lines: they and their spaces are kept as typed, exactly as in the message. */
.enquiry__line-value[b-uplxc5j1ro] {
  white-space: pre-wrap;
}

.enquiry__line-value--empty[b-uplxc5j1ro] {
  font-style: italic;
  color: var(--c-text-muted);
}

/* ---- Price hint (a tour with prices only) ---------------------------------------------------- */
.enquiry__price[b-uplxc5j1ro] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  font-size: .875rem;
  line-height: 1.5;
  color: var(--c-text-soft);
}

.enquiry__price[b-uplxc5j1ro]  svg {
  flex: none;
  margin-top: 2px;
  color: var(--c-accent-600);
}

.enquiry__price strong[b-uplxc5j1ro] {
  color: var(--c-primary-700);
}

/* ---- Send button and notes --------------------------------------------------------------------- */
.enquiry__actions[b-uplxc5j1ro] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* The label may wrap on a narrow phone instead of pushing the button past the card. */
.enquiry__send[b-uplxc5j1ro] {
  min-width: 0;
  padding-inline: 20px;
  white-space: normal;
}

.enquiry__status[b-uplxc5j1ro],
.enquiry__note[b-uplxc5j1ro] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  font-size: .8125rem;
  line-height: 1.5;
}

.enquiry__status[b-uplxc5j1ro]  svg,
.enquiry__note[b-uplxc5j1ro]  svg {
  flex: none;
  margin-top: 2px;
}

.enquiry__status[b-uplxc5j1ro] {
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--c-primary-100);
  color: var(--c-primary);
  font-weight: 600;
}

.enquiry__note[b-uplxc5j1ro] {
  color: var(--c-text-muted);
}

/* ---- FAQ: intro on the left, the accordion on the right (one column on phones) ---------------------- */
.contact-faq__layout[b-uplxc5j1ro] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: 28px 48px;
  align-items: start;
}

.contact-faq__intro[b-uplxc5j1ro] {
  max-width: 380px;
}

.contact-faq__intro[b-uplxc5j1ro]  .section-heading {
  margin-bottom: 0;
}

.contact-faq__intro[b-uplxc5j1ro]  .section-heading__subtitle {
  font-size: .9375rem;
}

.faq[b-uplxc5j1ro] {
  min-width: 0;
  border-top: 1px solid var(--c-border);
}

.faq__item[b-uplxc5j1ro] {
  border-bottom: 1px solid var(--c-border);
}

.faq__question[b-uplxc5j1ro] {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: normal;
}

.faq__toggle[b-uplxc5j1ro] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 52px;
  padding: 12px 0;
  text-align: left;
  font-weight: 700;
  color: var(--c-primary-700);
  transition: color .2s ease;
}

.faq__toggle:hover[b-uplxc5j1ro] {
  color: var(--c-primary-600);
}

.faq__toggle[b-uplxc5j1ro]  svg {
  flex: none;
  color: var(--c-accent-600);
  transition: transform .2s ease;
}

.faq__toggle[aria-expanded="true"][b-uplxc5j1ro]  svg {
  transform: rotate(180deg);
}

.faq__answer[b-uplxc5j1ro] {
  padding: 0 40px 14px 0;
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--c-text-soft);
}

.faq__answer[hidden][b-uplxc5j1ro] {
  display: none;
}

.faq__answer p[b-uplxc5j1ro] {
  margin: 0;
}

@media (max-width: 600px) {
  .faq__answer[b-uplxc5j1ro] {
    padding-right: 0;
  }
}

/* ---- Reduced motion ------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .contact-wa[b-uplxc5j1ro],
  .contact-row[b-uplxc5j1ro],
  .contact-row__map[b-uplxc5j1ro],
  .stepper__btn[b-uplxc5j1ro],
  .faq__toggle[b-uplxc5j1ro],
  .faq__toggle[b-uplxc5j1ro]  svg {
    transition: none;
  }
}
/* /Pages/Gallery.razor.rz.scp.css */
/* Gallery page: filter bar, status line, dense photo grid with caption pills, empty state, Instagram strip, credits.
   Uses the tokens from wwwroot/css/app.css. Mobile-first from 320px. */

/* The grid sits right under the hero: a short top padding, the usual one at the bottom. */
.gallery[b-cmaajpevnz] {
  padding-top: clamp(24px, 3vw, 32px);
}

.gallery__inner[b-cmaajpevnz] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ---- Filter bar: label + category chips in one white panel ----------------- */
.gallery-bar[b-cmaajpevnz] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding: 10px 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
}

.gallery-bar__label[b-cmaajpevnz] {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-text-muted);
}

.gallery-bar__chips[b-cmaajpevnz] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.gallery-bar__chips .chip[b-cmaajpevnz] {
  padding: 0 13px;
  font-weight: 700;
}

.gallery-bar__count[b-cmaajpevnz] {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  opacity: .72;
}

/* ---- Status line: "24 photos · 3 videos" + reset ------------------------- */
.gallery-status[b-cmaajpevnz] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 12px;
  min-height: 44px;
}

.gallery-status__text[b-cmaajpevnz] {
  margin: 0;
  font-size: .875rem;
  font-weight: 600;
  color: var(--c-text-muted);
  font-variant-numeric: tabular-nums;
}

.gallery-status__reset[b-cmaajpevnz] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 4px;
  border-radius: var(--r-full);
  color: var(--c-accent-600);
  font-size: .875rem;
  font-weight: 700;
}

.gallery-status__reset:hover[b-cmaajpevnz] {
  color: var(--c-accent-700);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.gallery-status__reset:focus-visible[b-cmaajpevnz] {
  outline: 3px solid var(--c-accent-600);
  outline-offset: 3px;
}

/* ---- Photo grid ----------------------------------------------------------
   The client's photos are mostly portrait, so the tiles are close to square.
   Fixed auto rows keep the grid dense. 2 columns on phones, 3 from 600px,
   4 from 961px; 10px gaps on phones, 12px above. The tile shapes are chosen
   in Gallery.razor (TileClass): every 5th tile is a 2x2 feature, and the last
   few tiles may become tall (1x2), 2x2, wide (2x1) or a full row so that the
   grid never ends with empty cells. Each shape class applies to one column
   count only: gallery-tile--p-* phones, --t-* tablets, --d-* desktop. */
.gallery-grid[b-cmaajpevnz] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: clamp(150px, 46vw, 240px);
  grid-auto-flow: dense;
  gap: 10px;
}

@media (max-width: 599.98px) {
  .gallery-grid > .gallery-tile--p-feature[b-cmaajpevnz] { grid-column: span 2; grid-row: span 2; }
  .gallery-grid > .gallery-tile--p-tall[b-cmaajpevnz] { grid-row: span 2; }
  .gallery-grid > .gallery-tile--p-wide[b-cmaajpevnz] { grid-column: span 2; }
}

@media (min-width: 600px) and (max-width: 960.98px) {
  .gallery-grid > .gallery-tile--t-feature[b-cmaajpevnz] { grid-column: span 2; grid-row: span 2; }
  .gallery-grid > .gallery-tile--t-tall[b-cmaajpevnz] { grid-row: span 2; }
  .gallery-grid > .gallery-tile--t-wide[b-cmaajpevnz] { grid-column: span 2; }
  .gallery-grid > .gallery-tile--t-row[b-cmaajpevnz] { grid-column: span 3; }
}

@media (min-width: 961px) {
  .gallery-grid > .gallery-tile--d-feature[b-cmaajpevnz] { grid-column: span 2; grid-row: span 2; }
  .gallery-grid > .gallery-tile--d-tall[b-cmaajpevnz] { grid-row: span 2; }
  .gallery-grid > .gallery-tile--d-wide[b-cmaajpevnz] { grid-column: span 2; }
  .gallery-grid > .gallery-tile--d-row[b-cmaajpevnz] { grid-column: span 4; }
}

@media (min-width: 600px) {
  .gallery-grid[b-cmaajpevnz] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: clamp(180px, 29vw, 260px);
    gap: 12px;
  }
}

@media (min-width: 961px) {
  .gallery-grid[b-cmaajpevnz] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: clamp(200px, 20vw, 280px);
  }
}

/* ---- Tile: photo, caption pill, winter badge, video marks ---------------- */
.gallery-tile[b-cmaajpevnz] {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--c-primary-600);
  color: var(--c-text-inverse);
  text-align: left;
  cursor: zoom-in;
  isolation: isolate;
  transition: transform var(--transition), box-shadow var(--transition);
  -webkit-tap-highlight-color: transparent;
}

.gallery-tile:hover[b-cmaajpevnz] {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.gallery-tile:focus-visible[b-cmaajpevnz] {
  outline: 3px solid var(--c-accent-600);
  outline-offset: 3px;
}

.gallery-tile[b-cmaajpevnz]  .gallery-tile__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* The caption (or the alt text) as a dark pill at the bottom left: one line, cut with an ellipsis. */
.gallery-tile__caption[b-cmaajpevnz] {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 1;
  max-width: calc(100% - 20px);
  padding: 3px 9px;
  border-radius: var(--r-full);
  background: rgba(15, 30, 51, .72);
  color: var(--c-text-inverse);
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}

.gallery-tile__season[b-cmaajpevnz] {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  padding: 3px 9px;
  pointer-events: none;
}

.gallery-tile__season[b-cmaajpevnz]  svg {
  width: 13px;
  height: 13px;
}

/* ---- Video clips (GalleryImage.Video): a play mark in the middle and the length, always visible ---- */
.gallery-tile--video[b-cmaajpevnz] {
  cursor: pointer;
}

.gallery-tile__play[b-cmaajpevnz] {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: auto;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: var(--c-primary-700);
  box-shadow: 0 8px 20px rgba(16, 30, 52, .25);
  transition: transform .2s ease;
  pointer-events: none;
}

.gallery-tile__play[b-cmaajpevnz]  svg {
  width: 20px;
  height: 20px;
  margin-left: 2px;
  fill: currentColor;
}

.gallery-tile:hover .gallery-tile__play[b-cmaajpevnz],
.gallery-tile:focus-visible .gallery-tile__play[b-cmaajpevnz] {
  transform: scale(1.08);
}

.gallery-tile__time[b-cmaajpevnz] {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  padding: 3px 9px;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

.gallery-tile__time[b-cmaajpevnz]  svg {
  width: 13px;
  height: 13px;
}

/* Phones: small one-column tiles keep only the caption pill and a smaller play mark. */
@media (max-width: 599.98px) {
  .gallery-tile__caption[b-cmaajpevnz] {
    left: 8px;
    bottom: 8px;
    max-width: calc(100% - 16px);
    padding: 2px 8px;
    font-size: .6875rem;
  }

  .gallery-tile__play[b-cmaajpevnz] {
    width: 40px;
    height: 40px;
  }

  .gallery-tile__play[b-cmaajpevnz]  svg {
    width: 17px;
    height: 17px;
  }
}

/* ---- Empty state --------------------------------------------------------- */
.gallery-empty[b-cmaajpevnz] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 32px 20px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
  text-align: center;
}

.gallery-empty__icon[b-cmaajpevnz] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--c-accent-100);
  color: var(--c-accent-600);
}

.gallery-empty__title[b-cmaajpevnz] {
  margin: 0;
  font-size: 1.375rem;
  line-height: 1.2;
}

.gallery-empty__text[b-cmaajpevnz] {
  max-width: 460px;
  margin: 0;
  font-size: .9375rem;
  color: var(--c-text-muted);
}

.gallery-empty__actions[b-cmaajpevnz] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 4px;
}

/* Narrow phones: the buttons stack at full width instead of wrapping unevenly */
@media (max-width: 420px) {
  .gallery-empty__actions[b-cmaajpevnz] {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
}

/* ---- Instagram strip ------------------------------------------------------ */
.gallery-instagram__inner[b-cmaajpevnz] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
}

.gallery-instagram__text[b-cmaajpevnz] {
  display: flex;
  flex: 1 1 420px;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.gallery-instagram__icon[b-cmaajpevnz] {
  width: 44px;
  height: 44px;
  border-radius: 12px;
}

.gallery-instagram__copy[b-cmaajpevnz] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.gallery-instagram__title[b-cmaajpevnz] {
  margin: 0;
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  line-height: 1.2;
}

.gallery-instagram__lead[b-cmaajpevnz] {
  margin: 0;
  font-size: .9375rem;
  color: var(--c-text-soft);
  overflow-wrap: anywhere;
}

/* ---- Photo credits ------------------------------------------------------- */
.gallery-credits[b-cmaajpevnz]  .section-heading {
  margin-bottom: 16px;
}

.gallery-credits[b-cmaajpevnz]  .section-heading__title {
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  line-height: 1.2;
}

.gallery-credits__box[b-cmaajpevnz] {
  padding: 16px 20px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
}

/* ---- Reduced motion ------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .gallery-tile[b-cmaajpevnz],
  .gallery-tile:hover[b-cmaajpevnz],
  .gallery-tile__play[b-cmaajpevnz],
  .gallery-tile:hover .gallery-tile__play[b-cmaajpevnz] {
    transition: none;
    transform: none;
  }
}
/* /Pages/Home.razor.rz.scp.css */
/* ==========================================================================
   Home page — page-specific styles (CSS isolation). Uses the tokens from
   wwwroot/css/app.css; shared classes (.hero, .section, .grid, .scroll-row,
   .card, .btn, .link, .seg, .icon-tile, .badge, .eyebrow, .reveal …) come from
   there. The compact layout of the design: phones as in the 390px layout,
   wider screens as in the desktop one. Mobile-first from 320px.
   ========================================================================== */


/* --------------------------------------------------------------------------
   Hero: the dark band behind the fixed header (.hero: night background, header
   room, min-height 560 / 600px). The drawn night scene, or a real photo under
   .hero__overlay; eyebrow, h1 with a saffron accent, lead, two buttons, chips.
   -------------------------------------------------------------------------- */
.home-hero__scene[b-8qsv6pw91c] {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  pointer-events: none;
}

/* The tall scene below 480px, the wide one from there (its sun stays clear of the text column). */
.home-hero__scene--wide[b-8qsv6pw91c] {
  display: none;
}

@media (min-width: 480px) {
  .home-hero__scene--wide[b-8qsv6pw91c] {
    display: block;
  }

  .home-hero__scene--tall[b-8qsv6pw91c] {
    display: none;
  }
}

/* Room at the foot for the mountains of the scene. */
.home-hero__content[b-8qsv6pw91c] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding-top: 16px;
  padding-bottom: 140px;
}

.home-hero__eyebrow[b-8qsv6pw91c] {
  margin: 0;
}

.home-hero__title[b-8qsv6pw91c] {
  max-width: 700px;
  margin: 0;
  font-size: 2.125rem;
  line-height: 1.08;
  letter-spacing: -.01em;
}

.home-hero__lead[b-8qsv6pw91c] {
  max-width: 540px;
  margin: 0;
  font-size: .9375rem;
  line-height: 1.55;
}

/* Phones: both buttons across the full width, one under the other. */
.home-hero__actions[b-8qsv6pw91c] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin-top: 6px;
}

/* The chips are left out on phones (as in the phone layout). */
.home-hero__chips[b-8qsv6pw91c] {
  display: none;
}

@media (min-width: 601px) {
  .home-hero__content[b-8qsv6pw91c] {
    gap: 20px;
    padding-top: 44px;
    padding-bottom: 150px;
  }

  .home-hero__title[b-8qsv6pw91c] {
    font-size: clamp(2.375rem, 5vw, 3.875rem);
    line-height: 1.05;
  }

  .home-hero__lead[b-8qsv6pw91c] {
    font-size: 1.0625rem;
    line-height: 1.6;
  }

  .home-hero__actions[b-8qsv6pw91c] {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
    width: auto;
    margin-top: 0;
  }

  .home-hero__chips[b-8qsv6pw91c] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 4px 0 0;
    padding: 0;
    list-style: none;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.4;
  }

  .home-hero__chips li[b-8qsv6pw91c] {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 6px 13px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: var(--r-full);
    background: rgba(255, 255, 255, .08);
  }

  .home-hero__chips[b-8qsv6pw91c]  svg {
    flex: none;
    color: var(--c-accent-300);
  }
}


/* --------------------------------------------------------------------------
   Shared: card wrappers (the reveal sits on the wrapper, so the card keeps its
   own hover lift)
   -------------------------------------------------------------------------- */
.home-card[b-8qsv6pw91c] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.home-card[b-8qsv6pw91c]  > .card {
  flex: 1 1 auto;
}

/* Eyebrow + h2 written in the page (about, prices, seasons, FAQ): 8px apart. */
.home-about__head[b-8qsv6pw91c],
.home-plan__head[b-8qsv6pw91c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.home-about__head > *[b-8qsv6pw91c],
.home-plan__head > *[b-8qsv6pw91c],
.home-faq__intro > *[b-8qsv6pw91c] {
  margin: 0;
}


/* --------------------------------------------------------------------------
   Tours: heading with the Summer | Winter switch and "All tours" on the right
   (on phones in one row under the heading), then the cards (rows on phones).
   -------------------------------------------------------------------------- */
/* Focused by the hero's "View tours" link only to move the reading position: no ring around the whole section. */
.home-tours:focus[b-8qsv6pw91c] {
  outline: none;
}

.home-tours[b-8qsv6pw91c]  .section-heading {
  margin-bottom: 16px;
}

.home-tours__grid[b-8qsv6pw91c] {
  gap: 12px;
}

@media (max-width: 600px) {
  .home-tours[b-8qsv6pw91c]  .section-heading__action {
    width: 100%;
    justify-content: space-between;
    gap: 8px 12px;
  }
}

@media (min-width: 601px) {
  .home-tours[b-8qsv6pw91c]  .section-heading {
    margin-bottom: 28px;
  }

  .home-tours__grid[b-8qsv6pw91c] {
    gap: 20px;
  }
}

/* Winter season: the summer tours under the winter block, with their own small heading. */
.home-tours__summer[b-8qsv6pw91c] {
  margin-top: clamp(32px, 5vw, 48px);
}

.home-tours__summer-head[b-8qsv6pw91c] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 20px;
  margin-bottom: 16px;
}

.home-tours__summer-title[b-8qsv6pw91c] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
}

.home-tours__summer-meta[b-8qsv6pw91c] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 20px;
}

.home-tours__summer-note[b-8qsv6pw91c] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--c-text-soft);
}

.home-tours__summer-note[b-8qsv6pw91c]  svg {
  flex: none;
  color: var(--c-accent-600);
}


/* --------------------------------------------------------------------------
   Services: six small tiles; a swipe row of 160px tiles on phones
   -------------------------------------------------------------------------- */
.home-services__title[b-8qsv6pw91c] {
  margin: 0 0 18px;
  font-size: 1.5rem;
  line-height: 1.2;
}

.home-services__list[b-8qsv6pw91c] {
  --scroll-item-w: 160px;
  margin-block: 0;
  list-style: none;
}

.home-service[b-8qsv6pw91c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
}

.home-service__title[b-8qsv6pw91c] {
  margin: 0;
  font-family: var(--font-body);
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

.home-service__text[b-8qsv6pw91c] {
  margin: 0;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--c-text-muted);
}

@media (max-width: 600px) {
  .home-services__list[b-8qsv6pw91c] {
    gap: 10px;
  }
}

@media (min-width: 601px) {
  .home-services__title[b-8qsv6pw91c] {
    margin-bottom: 22px;
    font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  }

  .home-services__list[b-8qsv6pw91c] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
    gap: 12px;
    padding: 0;
  }
}


/* --------------------------------------------------------------------------
   About: photo (16:10) and text side by side from about 900px, the photo first
   -------------------------------------------------------------------------- */
.home-about__grid[b-8qsv6pw91c] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.home-about__media[b-8qsv6pw91c] {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 16px;
  /* The sky of the drawn scene; also what shows while a photo loads. */
  background: #24466F;
}

.home-about__scene[b-8qsv6pw91c],
.home-about__media[b-8qsv6pw91c]  .home-about__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.home-about__text[b-8qsv6pw91c] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.home-about__lead[b-8qsv6pw91c] {
  margin: 0;
  font-size: .9375rem;
  color: var(--c-text-soft);
}

.home-about__points[b-8qsv6pw91c] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .8125rem;
  line-height: 1.45;
  color: var(--c-text-soft);
}

.home-about__points li[b-8qsv6pw91c] {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.home-about__points[b-8qsv6pw91c]  svg {
  flex: none;
  width: 16px;
  height: 16px;
  color: var(--c-accent-600);
}

.home-about__link[b-8qsv6pw91c] {
  align-self: flex-start;
}

@media (min-width: 601px) {
  .home-about__grid[b-8qsv6pw91c] {
    grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
    gap: clamp(28px, 4vw, 56px);
  }

  .home-about__media[b-8qsv6pw91c] {
    border-radius: var(--r-lg);
  }

  .home-about__text[b-8qsv6pw91c] {
    gap: 14px;
  }

  .home-about__lead[b-8qsv6pw91c] {
    font-size: 1rem;
  }

  .home-about__points[b-8qsv6pw91c] {
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
    gap: 10px 20px;
    margin-top: 4px;
    font-size: .875rem;
    line-height: 1.5;
  }

  .home-about__points li[b-8qsv6pw91c] {
    gap: 10px;
  }

  .home-about__points[b-8qsv6pw91c]  svg {
    width: 18px;
    height: 18px;
  }
}


/* --------------------------------------------------------------------------
   Destinations: 3:4 tiles (Components/DestinationCard); a swipe row of 150px
   tiles on phones
   -------------------------------------------------------------------------- */
.home-places[b-8qsv6pw91c]  .section-heading {
  margin-bottom: 16px;
}

.home-places__list[b-8qsv6pw91c] {
  --scroll-item-w: 150px;
  margin-block: 0;
  list-style: none;
}

.home-places__list > li[b-8qsv6pw91c] {
  min-width: 0;
}

@media (min-width: 601px) {
  .home-places[b-8qsv6pw91c]  .section-heading {
    margin-bottom: 24px;
  }

  .home-places__list[b-8qsv6pw91c] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
    gap: 14px;
    padding: 0;
  }
}


/* --------------------------------------------------------------------------
   Prices by group size + seasons: two columns when both fit (380px each)
   -------------------------------------------------------------------------- */
.home-plan__grid[b-8qsv6pw91c] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.home-plan__col[b-8qsv6pw91c] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

@media (min-width: 601px) {
  .home-plan__grid[b-8qsv6pw91c] {
    grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr));
  }

  .home-plan__col[b-8qsv6pw91c] {
    gap: 14px;
  }
}

/* ---- Price table: scrolls sideways inside its frame when it is wider than the column ---- */
.home-prices__scroll[b-8qsv6pw91c] {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
  scrollbar-width: thin;
  scrollbar-color: #D6CCBB transparent;
}

.home-prices__table[b-8qsv6pw91c] {
  width: 100%;
  min-width: 340px;
  border-collapse: collapse;
  font-size: .875rem;
  line-height: 1.4;
}

.home-prices__table caption[b-8qsv6pw91c] {
  caption-side: bottom;
  padding: 8px 12px;
  font-size: .75rem;
  line-height: 1.5;
  text-align: left;
  color: var(--c-text-muted);
}

.home-prices__table th[b-8qsv6pw91c],
.home-prices__table td[b-8qsv6pw91c] {
  border-bottom: 0;
}

.home-prices__table thead th[b-8qsv6pw91c] {
  padding: 11px 7px;
  background: var(--c-primary);
  color: var(--c-text-inverse);
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

.home-prices__table thead th:first-child[b-8qsv6pw91c] {
  padding-left: 12px;
  text-align: left;
}

/* The largest group: saffron on navy in the header (5.2:1), deep saffron on cream in the rows (≥ 4.8:1). */
.home-prices__table thead th:last-child:not(:first-child)[b-8qsv6pw91c] {
  color: var(--c-accent-300);
}

.home-prices__table tbody tr[b-8qsv6pw91c] {
  border-top: 1px solid var(--c-border-soft);
}

.home-prices__table tbody tr:nth-child(even)[b-8qsv6pw91c] {
  background: var(--c-bg);
}

.home-prices__table tbody th[b-8qsv6pw91c] {
  padding: 0 6px 0 12px;
  font-weight: 700;
  text-align: left;
}

.home-prices__table tbody th a[b-8qsv6pw91c] {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: var(--c-heading);
  text-decoration: underline;
  text-decoration-color: var(--c-border);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--transition), text-decoration-color var(--transition);
}

.home-prices__table tbody th a:hover[b-8qsv6pw91c] {
  color: var(--c-accent-600);
  text-decoration-color: currentColor;
}

.home-prices__table td[b-8qsv6pw91c] {
  padding: 11px 7px;
  text-align: center;
  white-space: nowrap;
  color: var(--c-text-muted);
}

.home-prices__table td:last-child[b-8qsv6pw91c] {
  background: var(--c-accent-100);
  color: var(--c-accent-600);
  font-weight: 700;
}

@media (min-width: 601px) {
  .home-prices__table[b-8qsv6pw91c] {
    min-width: 480px;
  }

  .home-prices__table caption[b-8qsv6pw91c] {
    padding: 10px 16px;
  }

  .home-prices__table thead th[b-8qsv6pw91c] {
    padding-inline: 8px;
  }

  .home-prices__table thead th:first-child[b-8qsv6pw91c] {
    padding-left: 16px;
  }

  .home-prices__table tbody th[b-8qsv6pw91c] {
    padding: 0 8px 0 16px;
  }

  .home-prices__table td[b-8qsv6pw91c] {
    padding-inline: 8px;
  }
}

.home-prices__join[b-8qsv6pw91c] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: .875rem;
  line-height: 1.5;
  color: var(--c-text-soft);
}

.home-prices__join[b-8qsv6pw91c]  svg {
  flex: none;
  color: var(--c-accent-600);
}

/* Inline links in running text (the price note, the FAQ intro). */
.home-prices__join a[b-8qsv6pw91c],
.home-faq__more a[b-8qsv6pw91c] {
  font-weight: 700;
  color: var(--c-accent-600);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.home-prices__join a:hover[b-8qsv6pw91c],
.home-faq__more a:hover[b-8qsv6pw91c] {
  color: var(--c-accent-700);
}

/* ---- Seasons: 2 × 2 small tiles (one row of four when there is no price table) ---- */
.home-seasons__list[b-8qsv6pw91c] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-season[b-8qsv6pw91c] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
}

.home-season__head[b-8qsv6pw91c] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2px 6px;
}

.home-season__name[b-8qsv6pw91c] {
  font-size: .875rem;
  line-height: 1.45;
  color: var(--c-heading);
}

.home-season__text[b-8qsv6pw91c] {
  font-size: .8125rem;
  line-height: 1.45;
  color: var(--c-text-muted);
}

.home-season__badge[b-8qsv6pw91c] {
  padding: 1px 8px;
  font-size: .6875rem;
}

/* July–August: navy with the saffron "Peak" badge. */
.home-season--peak[b-8qsv6pw91c] {
  border-color: var(--c-primary);
  background: var(--c-primary);
}

.home-season--peak .home-season__name[b-8qsv6pw91c] {
  color: var(--c-text-inverse);
}

.home-season--peak .home-season__text[b-8qsv6pw91c] {
  color: var(--c-on-dark-muted);
}

/* November–April: glacier blue. */
.home-season--winter[b-8qsv6pw91c] {
  border-color: var(--c-winter-100);
  background: var(--c-winter-100);
}

.home-season--winter .home-season__name[b-8qsv6pw91c] {
  color: var(--c-winter-700);
}

.home-season--winter .home-season__text[b-8qsv6pw91c] {
  color: var(--c-text-soft);
}

@media (min-width: 601px) {
  .home-season__name[b-8qsv6pw91c] {
    font-size: .9375rem;
  }
}

/* Without the price table the seasons have the section to themselves: one row of four from 768px. */
@media (min-width: 768px) {
  .home-seasons--solo .home-seasons__list[b-8qsv6pw91c] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}


/* --------------------------------------------------------------------------
   Reviews: a grid of cards; a swipe row of 280px cards on phones
   -------------------------------------------------------------------------- */
.home-reviews__grid[b-8qsv6pw91c] {
  --scroll-item-w: 280px;
}

@media (min-width: 601px) {
  .home-reviews__grid[b-8qsv6pw91c] {
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    gap: 16px;
  }
}


/* --------------------------------------------------------------------------
   FAQ: intro on the left, the accordion on the right (one column on phones)
   -------------------------------------------------------------------------- */
.home-faq__grid[b-8qsv6pw91c] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.home-faq__intro[b-8qsv6pw91c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 380px;
}

.home-faq__more[b-8qsv6pw91c] {
  font-size: .9375rem;
  color: var(--c-text-soft);
}

.home-faq__list[b-8qsv6pw91c] {
  border-top: 1px solid var(--c-border);
}

.home-faq__item[b-8qsv6pw91c] {
  border-bottom: 1px solid var(--c-border);
}

.home-faq__q[b-8qsv6pw91c] {
  margin: 0;
  font-size: 1rem;
}

.home-faq__btn[b-8qsv6pw91c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  min-height: 52px;
  padding: 12px 0;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: left;
  color: var(--c-heading);
  transition: color var(--transition);
}

.home-faq__btn:hover[b-8qsv6pw91c] {
  color: var(--c-accent-600);
}

.home-faq__btn[b-8qsv6pw91c]  .home-faq__chev {
  flex: none;
  color: var(--c-accent-600);
  transition: transform .2s ease;
}

.home-faq__btn[aria-expanded="true"][b-8qsv6pw91c]  .home-faq__chev {
  transform: rotate(180deg);
}

.home-faq__a[b-8qsv6pw91c] {
  padding: 0 28px 14px 0;
  font-size: .9375rem;
  line-height: 1.55;
  color: var(--c-text-soft);
}

.home-faq__a[hidden][b-8qsv6pw91c] {
  display: none;
}

@media (min-width: 601px) {
  .home-faq__grid[b-8qsv6pw91c] {
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
    gap: 28px 48px;
  }

  .home-faq__intro[b-8qsv6pw91c] {
    gap: 12px;
  }

  .home-faq__btn[b-8qsv6pw91c] {
    gap: 16px;
  }

  .home-faq__a[b-8qsv6pw91c] {
    padding-right: 40px;
  }
}


/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .home-faq__btn[b-8qsv6pw91c]  .home-faq__chev,
  .home-prices__table tbody th a[b-8qsv6pw91c] {
    transition: none;
  }
}
/* /Pages/NotFound.razor.rz.scp.css */
/* Fills the first screen under the header (the footer follows right after the ridge). */
.notfound[b-tr1d1cxec8] {
  display: flex;
  align-items: center;
  min-height: min(640px, 100vh);
  min-height: min(640px, 100dvh);
}

.notfound__inner[b-tr1d1cxec8] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding-block: 24px 8px;
}

.notfound__title[b-tr1d1cxec8] {
  max-width: 760px;
  margin: 0;
}

.notfound__text[b-tr1d1cxec8] {
  max-width: 56ch;
  margin: 0;
}

.notfound__actions[b-tr1d1cxec8] {
  margin-top: 10px;
}

.notfound__contact[b-tr1d1cxec8] {
  margin: 18px 0 0;
  font-size: .9375rem;
  color: var(--c-on-dark-soft);
}

@media (max-width: 600px) {
  .notfound__actions[b-tr1d1cxec8] {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .notfound__actions .btn[b-tr1d1cxec8] {
    white-space: normal;
  }
}
/* /Pages/TourDetail.razor.rz.scp.css */
/* Single tour page (/tours/{slug}): the compact design, two columns on wide screens and its own phone layout.
   Mobile-first from 320px; tokens from wwwroot/css/app.css.
   ≥ 961px   two columns: the main column + the sticky booking card (300px, 340px from 1101px)
   ≤ 960px   one column; the booking card gives way to the sticky booking bar (the floating WhatsApp button hides,
             FloatingWhatsApp data-hide-fab="mobile") and the people stepper moves above the price table
   ≤ 600px   the phone layout: full-width tinted bands, the days as an accordion, the photos as a swipe row */

/* ---- Hero extras (inside PageHero) -------------------------------------------- */
.tour-hero__eyebrow[b-sl6ynd4stt] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
}

.tour-hero__place[b-sl6ynd4stt] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: inherit;
  text-decoration: none;
  transition: color var(--transition);
}

.tour-hero__place:hover[b-sl6ynd4stt] {
  color: var(--c-on-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tour-hero__place:focus-visible[b-sl6ynd4stt] {
  outline: 3px solid var(--c-on-dark);
  outline-offset: 3px;
}

/* "Popular": the pill of the tour cards, in its own letter case inside the uppercase eyebrow. */
.tour-hero__badge[b-sl6ynd4stt] {
  letter-spacing: normal;
  text-transform: none;
}

/* Touch screens: a 44px tap target. It reaches 13px above and below the line, so the row keeps 11px more distance
   from the breadcrumbs, whose 44px links reach 8px below the trail (app.css): the two targets never overlap. */
@media (pointer: coarse) {
  .tour-hero__place[b-sl6ynd4stt] {
    min-height: 44px;
    margin-block: -13px;
  }

  .tour-hero__eyebrow[b-sl6ynd4stt] {
    margin-top: 11px;
  }
}

/* The route: a map icon and the stops joined by small saffron arrows. */
.tour-route[b-sl6ynd4stt] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  max-width: 900px;
}

.tour-route[b-sl6ynd4stt]  .icon--map {
  flex: none;
  margin-top: 2px;
  color: var(--c-accent-300);
}

.tour-route__stops[b-sl6ynd4stt] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--c-on-dark-muted);
}

.tour-route__stops li[b-sl6ynd4stt] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tour-route__stops[b-sl6ynd4stt]  .icon--arrow-right {
  flex: none;
  stroke-width: 2;
  color: var(--c-accent-300);
}

/* Facts row: a translucent panel of label / value pairs (as many columns of at least 130px as fit). */
.tour-facts[b-sl6ynd4stt] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(130px, 100%), 1fr));
  gap: 12px 20px;
  width: 100%;
  margin: 0;
  padding: 12px 18px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 16px;
  background: rgba(255, 255, 255, .06);
}

.tour-route + .tour-facts[b-sl6ynd4stt] {
  margin-top: 14px;
}

.tour-facts__item[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.tour-facts dt[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--c-on-dark-soft);
  overflow-wrap: anywhere;
}

.tour-facts dt[b-sl6ynd4stt]  svg {
  flex: none;
  color: var(--c-accent-300);
}

.tour-facts dd[b-sl6ynd4stt] {
  margin: 0;
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--c-on-dark);
  overflow-wrap: anywhere;
}

.tour-facts__item--price dd[b-sl6ynd4stt] {
  color: var(--c-accent-300);
}

/* Over a real photo: a darker panel and the lighter label colour keep the facts ≥ 4.5:1 on bright snow. */
.tour-page--photo .tour-facts[b-sl6ynd4stt] {
  background: rgba(15, 30, 51, .38);
}

.tour-page--photo .tour-facts dt[b-sl6ynd4stt] {
  color: var(--c-on-dark-muted);
}

.tour-hero__prices[b-sl6ynd4stt] {
  margin-top: 6px;
}

@media (max-width: 600px) {
  .tour-route__stops[b-sl6ynd4stt] {
    font-size: .875rem;
  }

  .tour-facts[b-sl6ynd4stt] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    padding: 12px 14px;
  }
}

/* ---- Layout ----------------------------------------------------------------- */
.tour-body[b-sl6ynd4stt] {
  padding-block: clamp(28px, 3.4vw, 48px) var(--section-y);
}

.tour-layout[b-sl6ynd4stt] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
}

.tour-main[b-sl6ynd4stt] {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Up to 960px the booking bar (price, Book, WhatsApp) takes the card's place. */
.tour-aside[b-sl6ynd4stt] {
  display: none;
}

@media (min-width: 961px) {
  .tour-layout[b-sl6ynd4stt] {
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: start;
  }

  .tour-main[b-sl6ynd4stt] {
    grid-column: 1;
    grid-row: 1;
  }

  .tour-aside[b-sl6ynd4stt] {
    display: block;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
}

/* The card (about 420px tall) stays in view under the fixed header when the screen is tall enough for it. */
@media (min-width: 961px) and (min-height: 560px) {
  .tour-aside[b-sl6ynd4stt] {
    position: sticky;
    top: calc(var(--header-h) + 20px);
  }
}

@media (min-width: 1101px) {
  .tour-layout[b-sl6ynd4stt] {
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 40px;
  }
}

/* ---- Booking card ----------------------------------------------------------- */
.tour-booking[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
  box-shadow: 0 4px 10px rgba(16, 30, 52, .06), 0 16px 36px rgba(16, 30, 52, .08);
}

.tour-booking__price[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tour-booking__label[b-sl6ynd4stt] {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-accent-600);
}

.tour-booking__amount[b-sl6ynd4stt] {
  font-family: var(--font-heading);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--c-heading);
}

.tour-booking__people[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--c-border-soft);
}

.tour-booking__sum[b-sl6ynd4stt] {
  margin: 0;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--c-bg);
  font-size: .875rem;
  line-height: 1.5;
  color: var(--c-text-soft);
}

.tour-booking__sum strong[b-sl6ynd4stt] {
  color: var(--c-heading);
}

.tour-booking__actions[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tour-booking__actions .btn[b-sl6ynd4stt] {
  min-height: 48px;
  white-space: normal;
}

.tour-booking__note[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  font-size: .8125rem;
  line-height: 1.45;
  text-align: center;
  color: var(--c-text-muted);
}

.tour-booking__note[b-sl6ynd4stt]  svg {
  flex: none;
  color: var(--c-accent-600);
}

/* People stepper: − N + in a cream pill with 44px round buttons; a long label wraps instead of the control. */
.tour-stepper[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tour-stepper__label[b-sl6ynd4stt] {
  min-width: 0;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--c-heading);
}

.tour-stepper__control[b-sl6ynd4stt] {
  flex: none;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-full);
  background: var(--c-bg);
}

.tour-stepper__btn[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--c-border);
  border-radius: 50%;
  background: var(--c-surface);
  color: var(--c-heading);
  transition: border-color var(--transition);
}

.tour-stepper__btn:hover[b-sl6ynd4stt] {
  border-color: var(--c-primary);
}

.tour-stepper__btn[b-sl6ynd4stt]  svg {
  stroke-width: 2;
}

.tour-stepper__btn[aria-disabled="true"][b-sl6ynd4stt] {
  opacity: .38;
  cursor: not-allowed;
}

.tour-stepper__btn[aria-disabled="true"]:hover[b-sl6ynd4stt] {
  border-color: var(--c-border);
}

.tour-stepper__value[b-sl6ynd4stt] {
  min-width: 30px;
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: center;
  color: var(--c-heading);
}

/* ---- Section links ------------------------------------------------------------ */
/* The padding gives the focus ring room inside the scrolling row. */
.tour-subnav[b-sl6ynd4stt] {
  display: flex;
  gap: 6px;
  margin: -5px;
  padding: 5px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.tour-subnav__link[b-sl6ynd4stt] {
  flex: none;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-full);
  background: var(--c-surface);
  color: var(--c-text-soft);
  font-size: .8125rem;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  transition: border-color .15s ease, color .15s ease;
}

.tour-subnav__link:hover[b-sl6ynd4stt] {
  border-color: var(--c-primary);
  color: var(--c-heading);
}

/* ---- Sections of the main column ---------------------------------------------- */
.tour-section[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  padding-top: 24px;
  border-top: 1px solid var(--c-border);
}

.tour-section--first[b-sl6ynd4stt] {
  gap: 14px;
  padding-top: 0;
  border-top: 0;
}

.tour-section:focus[b-sl6ynd4stt] {
  outline: none;
}

.tour-section__title[b-sl6ynd4stt] {
  margin: 0;
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  line-height: 1.2;
}

.tour-section__head[b-sl6ynd4stt] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
}

/* Phones: every section is a full-width band; the programme and the way to the start on the warm tint, the prices,
   what is included and the reviews on white (the price table and the inclusions read as one band). */
@media (max-width: 600px) {
  .tour-body[b-sl6ynd4stt] {
    padding-block: 0;
  }

  .tour-layout[b-sl6ynd4stt],
  .tour-main[b-sl6ynd4stt] {
    gap: 0;
  }

  .tour-subnav[b-sl6ynd4stt] {
    display: none;
  }

  .tour-section[b-sl6ynd4stt] {
    margin-inline: -16px;
    padding: 36px 16px;
    border-top: 0;
  }

  .tour-section--first[b-sl6ynd4stt] {
    padding-top: 32px;
  }

  .tour-section--tint[b-sl6ynd4stt] {
    background: var(--c-surface-alt);
  }

  .tour-section--white[b-sl6ynd4stt] {
    background: var(--c-surface);
  }

  .tour-section--white + .tour-section--white[b-sl6ynd4stt] {
    padding-top: 4px;
  }
}

/* ---- About + highlights --------------------------------------------------------- */
.tour-about[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 72ch;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--c-text-soft);
}

.tour-about p[b-sl6ynd4stt] {
  margin: 0;
}

.tour-highlights[b-sl6ynd4stt] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 10px 20px;
}

.tour-highlights li[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: .9375rem;
  line-height: 1.4;
  color: var(--c-text);
}

.tour-highlights__mark[b-sl6ynd4stt] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--c-accent-100);
  color: var(--c-accent-600);
}

.tour-highlights__mark[b-sl6ynd4stt]  svg {
  stroke-width: 2.4;
}

@media (max-width: 600px) {
  .tour-about[b-sl6ynd4stt] {
    font-size: .9375rem;
  }

  .tour-highlights[b-sl6ynd4stt] {
    grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
    gap: 10px 14px;
  }

  .tour-highlights li[b-sl6ynd4stt] {
    align-items: flex-start;
    gap: 8px;
    font-size: .875rem;
    color: var(--c-text-soft);
  }

  .tour-highlights__mark[b-sl6ynd4stt] {
    width: 20px;
    height: 20px;
  }
}

/* ---- Day by day: timeline (from 601px) ------------------------------------------ */
.tour-timeline[b-sl6ynd4stt] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.tour-timeline__item[b-sl6ynd4stt] {
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 0 16px;
  padding-bottom: 22px;
}

/* The line from one day to the next. */
.tour-timeline__item[b-sl6ynd4stt]::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 42px;
  bottom: 4px;
  width: 2px;
  border-radius: 2px;
  background: var(--c-border);
}

.tour-timeline__item:last-child[b-sl6ynd4stt] {
  padding-bottom: 0;
}

.tour-timeline__item:last-child[b-sl6ynd4stt]::before {
  display: none;
}

.tour-timeline__marker[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-primary);
  color: var(--c-text-inverse);
  font-family: var(--font-heading);
  font-size: 1.0625rem;
  font-weight: 700;
}

/* The last day (the return) in saffron. */
.tour-timeline__item:last-child .tour-timeline__marker[b-sl6ynd4stt] {
  background: var(--c-accent-300);
  color: var(--c-primary-700);
}

.tour-timeline__body[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding-top: 5px;
}

.tour-timeline__title[b-sl6ynd4stt] {
  margin: 0;
  font-size: 1.1875rem;
  line-height: 1.3;
}

/* "DAY 1": small saffron caps before the title of the day. */
.tour-day[b-sl6ynd4stt] {
  margin-right: 10px;
  font-family: var(--font-body);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--c-accent-600);
}

.tour-day-text[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: .9375rem;
  line-height: 1.55;
  color: var(--c-text-soft);
}

.tour-day-text p[b-sl6ynd4stt] {
  margin: 0;
}

/* Clock times in the day text ("09:30", "18:00–19:00"): a quiet pill that makes the schedule easy to scan. */
.tour-time[b-sl6ynd4stt] {
  display: inline-block;
  padding: 0 .3em;
  border-radius: 5px;
  background: var(--c-primary-100);
  color: var(--c-primary);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.5;
  white-space: nowrap;
}

/* ---- Day by day: accordion (phones) ------------------------------------------------ */
.tour-days[b-sl6ynd4stt] {
  display: none;
}

@media (max-width: 600px) {
  .tour-timeline[b-sl6ynd4stt] {
    display: none;
  }

  .tour-days[b-sl6ynd4stt] {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
}

.tour-days__item[b-sl6ynd4stt] {
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
}

.tour-days__heading[b-sl6ynd4stt] {
  margin: 0;
  font: inherit;
  letter-spacing: normal;
}

.tour-days__toggle[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 56px;
  padding: 9px 14px;
  border-radius: var(--r-md);
  text-align: left;
}

.tour-days__head[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.tour-days__head .tour-day[b-sl6ynd4stt] {
  margin-right: 0;
  letter-spacing: .12em;
  line-height: 1.4;
}

.tour-days__title[b-sl6ynd4stt] {
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--c-heading);
  overflow-wrap: anywhere;
}

.tour-days__toggle[b-sl6ynd4stt]  svg {
  flex: none;
  stroke-width: 2;
  color: var(--c-accent-600);
  transition: transform .2s ease;
}

.tour-days__toggle[aria-expanded="true"][b-sl6ynd4stt]  svg {
  transform: rotate(180deg);
}

.tour-days__panel[b-sl6ynd4stt] {
  margin: 0 14px;
  padding: 12px 0 14px;
  border-top: 1px solid var(--c-border-soft);
}

/* ---- Price table by group size -------------------------------------------------- */
.tour-prices[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tour-prices__box[b-sl6ynd4stt] {
  overflow: hidden;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  background: var(--c-surface);
}

/* The stepper above the table: only while the booking card is hidden (≤ 960px). */
.tour-prices__head[b-sl6ynd4stt] {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 10px 10px 16px;
  border-bottom: 1px solid var(--c-border);
  background: var(--c-bg);
}

@media (max-width: 960px) {
  .tour-prices__head[b-sl6ynd4stt] {
    display: flex;
  }
}

.tour-prices__ask[b-sl6ynd4stt] {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.3;
}

.tour-prices__ask strong[b-sl6ynd4stt] {
  font-size: .9375rem;
  color: var(--c-heading);
}

.tour-prices__ask span[b-sl6ynd4stt] {
  font-size: .8125rem;
  color: var(--c-text-muted);
}

.tour-prices__wrap[b-sl6ynd4stt] {
  overflow-x: auto;
}

.tour-prices__table[b-sl6ynd4stt] {
  width: 100%;
  border-collapse: collapse;
  font-size: .875rem;
  font-variant-numeric: tabular-nums;
}

.tour-prices__table th[b-sl6ynd4stt],
.tour-prices__table td[b-sl6ynd4stt] {
  padding: 10px 16px;
  border-bottom: 1px solid var(--c-border-soft);
  text-align: left;
  vertical-align: middle;
}

.tour-prices__table thead th[b-sl6ynd4stt] {
  border-bottom: 0;
  background: var(--c-primary);
  color: var(--c-text-inverse);
  font-size: .8125rem;
  font-weight: 700;
}

.tour-prices__table tbody th[b-sl6ynd4stt] {
  font-size: .9375rem;
  font-weight: 700;
  color: var(--c-heading);
}

.tour-prices__table tbody tr:last-child th[b-sl6ynd4stt],
.tour-prices__table tbody tr:last-child td[b-sl6ynd4stt] {
  border-bottom: 0;
}

.tour-prices__table .tour-prices__num[b-sl6ynd4stt] {
  text-align: right;
}

.tour-prices__table td.tour-prices__num[b-sl6ynd4stt] {
  white-space: nowrap;
}

.tour-prices__pp[b-sl6ynd4stt] {
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--c-heading);
}

.tour-prices__total[b-sl6ynd4stt] {
  font-weight: 600;
  color: var(--c-text-soft);
}

/* The row of the group size chosen with the stepper. */
.tour-prices__table tr.is-current[b-sl6ynd4stt] {
  background: var(--c-accent-100);
}

.tour-prices__table tr.is-current .tour-prices__pp[b-sl6ynd4stt] {
  color: var(--c-accent-600);
}

.tour-prices__mark[b-sl6ynd4stt] {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 8px;
  border-radius: var(--r-full);
  background: var(--c-accent-300);
  color: var(--c-primary-700);
  font-family: var(--font-body);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}

.tour-prices__note[b-sl6ynd4stt] {
  margin: 0;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--c-text-muted);
}

@media (max-width: 400px) {
  .tour-prices__table th[b-sl6ynd4stt],
  .tour-prices__table td[b-sl6ynd4stt] {
    padding: 9px 12px;
  }
}

/* ---- Two boxes side by side: included / not included, getting there / what to bring ---- */
.tour-cols[b-sl6ynd4stt] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 12px;
}

.tour-box[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
}

.tour-box--roomy[b-sl6ynd4stt] {
  gap: 12px;
}

.tour-box__title[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

.tour-box__mark[b-sl6ynd4stt] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--c-accent-100);
  color: var(--c-accent-600);
}

.tour-box__mark--no[b-sl6ynd4stt] {
  background: var(--c-surface-alt);
  color: var(--c-text-muted);
}

.tour-box__mark[b-sl6ynd4stt]  svg {
  stroke-width: 2.4;
}

.tour-box__note[b-sl6ynd4stt] {
  margin: 0;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--c-text-muted);
}

.tour-list[b-sl6ynd4stt] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tour-list li[b-sl6ynd4stt] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .875rem;
  line-height: 1.5;
  color: var(--c-text-soft);
}

.tour-list[b-sl6ynd4stt]  svg {
  flex: none;
  margin-top: 3px;
  stroke-width: 2.1;
  color: var(--c-accent-600);
}

.tour-list--no[b-sl6ynd4stt]  svg {
  color: var(--c-text-muted);
}

/* On the white band of the phone layout the boxes are cream. */
@media (max-width: 600px) {
  .tour-section--white .tour-box[b-sl6ynd4stt] {
    background: var(--c-bg);
  }
}

/* Getting to the start: icon tiles with a bold line and a muted one. */
.tour-ways[b-sl6ynd4stt] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tour-ways li[b-sl6ynd4stt] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.tour-ways__text[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  line-height: 1.4;
}

.tour-ways__text strong[b-sl6ynd4stt] {
  font-size: .875rem;
  color: var(--c-heading);
}

.tour-ways__text span[b-sl6ynd4stt] {
  font-size: .8125rem;
  color: var(--c-text-muted);
}

/* What to bring: small cream pills. */
.tour-pack[b-sl6ynd4stt] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tour-pack li[b-sl6ynd4stt] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-full);
  background: var(--c-bg);
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-heading);
}

.tour-pack[b-sl6ynd4stt]  svg {
  flex: none;
  color: var(--c-accent-600);
}

/* ---- Photo strip (real photos only) ---------------------------------------------- */
.tour-strip__list[b-sl6ynd4stt] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.tour-strip__list li[b-sl6ynd4stt] {
  min-width: 0;
}

.tour-strip__item[b-sl6ynd4stt] {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: var(--r-md);
  background: var(--c-primary-600);
  color: var(--c-text-inverse);
  cursor: zoom-in;
  transition: transform var(--transition), box-shadow var(--transition);
}

.tour-strip__item:hover[b-sl6ynd4stt] {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.tour-strip__item[b-sl6ynd4stt]  img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tour-strip__zoom[b-sl6ynd4stt] {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(15, 30, 51, .6);
}

.tour-strip__more[b-sl6ynd4stt] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 30, 51, .55);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
}

/* Phones: a swipe row of 200px tiles running to the screen edges. */
@media (max-width: 600px) {
  .tour-strip[b-sl6ynd4stt] {
    margin: -6px -16px 0;
    padding: 6px 16px 8px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    scrollbar-width: thin;
    scrollbar-color: var(--c-border) transparent;
  }

  .tour-strip__list[b-sl6ynd4stt] {
    display: flex;
    width: max-content;
  }

  .tour-strip__list li[b-sl6ynd4stt] {
    flex: none;
    scroll-snap-align: start;
  }

  .tour-strip__item[b-sl6ynd4stt] {
    width: 200px;
    aspect-ratio: 4 / 3;
  }
}

.tour-credits[b-sl6ynd4stt] {
  font-size: .8125rem;
}

/* ---- Reviews and card grids ---------------------------------------------------------- */
.tour-reviews[b-sl6ynd4stt] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
  gap: 12px;
}

.tour-grid-item[b-sl6ynd4stt] {
  display: grid;
  min-width: 0;
}

/* ---- Booking band (#book) ------------------------------------------------------------ */
.tour-book[b-sl6ynd4stt] {
  padding-top: var(--section-y);
}

.tour-book:focus[b-sl6ynd4stt] {
  outline: none;
}

.tour-book__inner[b-sl6ynd4stt] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

.tour-book__head[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 520px;
}

.tour-book__title[b-sl6ynd4stt] {
  margin: 0;
}

.tour-book__lead[b-sl6ynd4stt] {
  margin: 0;
  font-size: .9375rem;
  line-height: 1.55;
  color: var(--c-on-dark-muted);
}

.tour-book__direct[b-sl6ynd4stt] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.tour-book__direct-label[b-sl6ynd4stt] {
  font-size: .875rem;
  color: var(--c-on-dark-soft);
}

/* Wide screens: heading left and the direct contacts right, then the form and the preview side by side. */
@media (min-width: 1000px) {
  .tour-book__inner[b-sl6ynd4stt] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 28px;
    align-items: start;
  }

  .tour-book__direct[b-sl6ynd4stt] {
    align-self: center;
    justify-content: flex-end;
  }
}

.tour-book__form[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  margin: 0;
  padding: clamp(16px, 2vw, 20px);
  border-radius: var(--r-lg);
  background: var(--c-surface);
  color: var(--c-text);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
  --c-heading: var(--c-primary-700);
}

.tour-book__fields[b-sl6ynd4stt] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
  gap: 14px;
}

.tour-book__form .form__label[b-sl6ynd4stt] {
  font-size: .8125rem;
  color: var(--c-heading);
}

/* Cream fields with a firmer edge, 16px text (no zoom on focus in iOS Safari). */
.tour-book__form .form__input[b-sl6ynd4stt],
.tour-book__form .form__select[b-sl6ynd4stt],
.tour-book__form .form__textarea[b-sl6ynd4stt] {
  border-width: 1.5px;
  background-color: var(--c-bg);
  font-size: 1rem;
}

.tour-book__form .form__textarea[b-sl6ynd4stt] {
  min-height: 84px;
}

.tour-book__form .tour-book__readonly[b-sl6ynd4stt] {
  background-color: var(--c-surface-alt);
  color: var(--c-heading);
  font-weight: 700;
  cursor: default;
}

.tour-book__send[b-sl6ynd4stt] {
  white-space: normal;
}

/* The white form card sits inside the dark band, whose white focus ring (app.css, .band .btn) would vanish here. */
.tour-book__form .btn:focus-visible[b-sl6ynd4stt] {
  outline-color: var(--c-primary);
}

.tour-book__side[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.tour-book__steps[b-sl6ynd4stt] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tour-book__steps li[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: .875rem;
  line-height: 1.45;
  color: var(--c-on-dark-muted);
}

.tour-book__step[b-sl6ynd4stt] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1.5px solid rgba(224, 164, 38, .7);
  border-radius: 50%;
  color: var(--c-accent-300);
  font-size: .8125rem;
  font-weight: 700;
}

.tour-book__preview[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, .07);
}

.tour-book__preview-head[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tour-book__preview-icon[b-sl6ynd4stt] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-whatsapp);
  color: #fff;
}

.tour-book__preview-who[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.35;
}

.tour-book__preview-who strong[b-sl6ynd4stt] {
  font-size: .875rem;
  color: var(--c-on-dark);
}

.tour-book__preview-who span[b-sl6ynd4stt] {
  font-size: .8125rem;
  color: var(--c-on-dark-soft);
}

/* The message as a sent chat bubble. */
.tour-book__bubble[b-sl6ynd4stt] {
  align-self: flex-end;
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  max-width: 460px;
  padding: 12px 14px 8px;
  border-radius: 16px 16px 4px 16px;
  background: var(--c-surface);
  color: var(--c-text);
  font-size: .875rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.tour-book__bubble p[b-sl6ynd4stt] {
  margin: 0;
}

/* pre-wrap: the lines and spaces exactly as they go into the message (the bubble breaks long words). */
.tour-book__lines[b-sl6ynd4stt] {
  white-space: pre-wrap;
}

.tour-book__hint[b-sl6ynd4stt] {
  align-self: flex-end;
  font-size: .75rem;
  color: var(--c-text-muted);
}

/* Phones: the form, then the preview; the three steps are left out (the lead says the same). */
@media (max-width: 600px) {
  .tour-book__steps[b-sl6ynd4stt] {
    display: none;
  }
}

/* ---- Booking bar (≤ 960px) ---------------------------------------------------------- */
/* Last child of .tour-page: sticks to the bottom of the screen while the tour is on screen and settles above the
   footer at the end, so it never covers the footer. */
.tour-bar[b-sl6ynd4stt] {
  position: sticky;
  bottom: 0;
  z-index: 95;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 10px 16px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--c-border);
  background: var(--c-surface);
  box-shadow: 0 -8px 24px rgba(16, 30, 52, .12);
}

.tour-bar__price[b-sl6ynd4stt] {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.2;
}

.tour-bar__amount[b-sl6ynd4stt] {
  overflow: hidden;
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--c-heading);
}

.tour-bar__per[b-sl6ynd4stt] {
  font-size: .8125rem;
  color: var(--c-text-muted);
}

.tour-bar__book[b-sl6ynd4stt] {
  flex: none;
  padding-inline: 18px;
}

.tour-bar__wa[b-sl6ynd4stt] {
  flex: none;
}

.tour-bar__wa[b-sl6ynd4stt]  svg {
  width: 22px;
  height: 22px;
}

@media (max-width: 359px) {
  .tour-bar[b-sl6ynd4stt] {
    gap: 8px;
    padding-inline: 12px;
  }

  .tour-bar__amount[b-sl6ynd4stt] {
    font-size: 1.0625rem;
  }

  .tour-bar__book[b-sl6ynd4stt] {
    padding-inline: 12px;
    font-size: .875rem;
  }
}

@media (min-width: 961px) {
  .tour-bar[b-sl6ynd4stt] {
    display: none;
  }
}

/* ---- Unknown slug ------------------------------------------------------------------- */
.tour-missing[b-sl6ynd4stt] {
  display: flex;
  align-items: center;
  min-height: min(560px, 100vh);
  min-height: min(560px, 100dvh);
}

.tour-missing__inner[b-sl6ynd4stt] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding-block: 24px 8px;
}

.tour-missing__title[b-sl6ynd4stt] {
  max-width: 760px;
  margin: 0;
}

.tour-missing__text[b-sl6ynd4stt] {
  max-width: 56ch;
  margin: 0;
}

.tour-missing__actions[b-sl6ynd4stt] {
  margin-top: 10px;
}

.tour-missing__contact[b-sl6ynd4stt] {
  margin: 18px 0 0;
  font-size: .9375rem;
  color: var(--c-on-dark-soft);
}

@media (max-width: 600px) {
  .tour-missing__actions[b-sl6ynd4stt] {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .tour-missing__actions .btn[b-sl6ynd4stt] {
    white-space: normal;
  }
}

/* ---- Motion & print ------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .tour-strip__item:hover[b-sl6ynd4stt] {
    transform: none;
  }
}

@media print {
  .tour-bar[b-sl6ynd4stt],
  .tour-subnav[b-sl6ynd4stt],
  .tour-booking__actions[b-sl6ynd4stt],
  .tour-stepper[b-sl6ynd4stt],
  .tour-prices__head[b-sl6ynd4stt],
  .tour-strip__zoom[b-sl6ynd4stt],
  .tour-book[b-sl6ynd4stt] {
    display: none !important;
  }

  /* All days printed open, as the timeline. */
  .tour-days[b-sl6ynd4stt] {
    display: none !important;
  }

  .tour-timeline[b-sl6ynd4stt] {
    display: flex !important;
  }

  .tour-aside[b-sl6ynd4stt] {
    display: block;
    position: static;
  }

  .tour-booking[b-sl6ynd4stt] {
    box-shadow: none;
  }

  .tour-facts[b-sl6ynd4stt] {
    border-color: #000;
    background: none !important;
  }
}
/* /Pages/Tours.razor.rz.scp.css */
/* ==========================================================================
   Tours catalogue (/tours) — page-specific styles. Global classes live in app.css (.seg, .chip, .grid--cards, .btn…).
   ========================================================================== */

/* ---- Catalogue: the filter bar overlaps the ridge at the foot of the hero, then the cards ---- */
.tours-catalog[b-p98c0l3kcd] {
  position: relative;
  padding-bottom: var(--section-y);
}

.tours-catalog__inner[b-p98c0l3kcd] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* ---- Filter bar: one white panel. Top row: season · trip length · type · destination; bottom row: count, reset, sorting ---- */
.tours-bar[b-p98c0l3kcd] {
  position: relative;
  z-index: 2;
  margin-top: -34px;
  padding: 12px 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  background: var(--c-surface);
  box-shadow: 0 2px 6px rgba(16, 30, 52, .06), 0 12px 30px rgba(16, 30, 52, .1);
}

.tours-bar__filters[b-p98c0l3kcd] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  min-width: 0;
}

.tours-bar .seg__btn[b-p98c0l3kcd] {
  padding-inline: 14px;
}

.tours-bar__group[b-p98c0l3kcd] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

/* Hairline between the groups while they fit on one line */
.tours-bar__div[b-p98c0l3kcd] {
  flex: none;
  width: 1px;
  height: 28px;
  background: var(--c-border);
}

@media (max-width: 1240px) {
  .tours-bar__div[b-p98c0l3kcd] {
    display: none;
  }
}

/* The × of an active chip (a second press clears it); the destination chip removes its filter. */
.chip[b-p98c0l3kcd]  .tours-chip__x {
  width: 14px;
  height: 14px;
  margin-right: -4px;
}

.tours-bar__place[b-p98c0l3kcd] {
  max-width: 100%;
}

.tours-bar__foot[b-p98c0l3kcd] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 20px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--c-border-soft);
}

.tours-bar__status[b-p98c0l3kcd] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 14px;
  min-width: 0;
  padding-left: 4px;
}

.tours-bar__count[b-p98c0l3kcd] {
  margin: 0;
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--c-heading);
}

.tours-bar__note[b-p98c0l3kcd] {
  font-size: .8125rem;
  line-height: 1.45;
  color: var(--c-text-muted);
}

/* "Summer tours can be booked in advance" (summer tours listed in the winter season) */
.tours-bar__note--season[b-p98c0l3kcd] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tours-bar__note--season[b-p98c0l3kcd]  svg {
  flex: none;
  color: var(--c-accent-600);
}

.tours-bar__reset[b-p98c0l3kcd] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 2px;
  font-size: .875rem;
  font-weight: 700;
  color: var(--c-accent-600);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tours-bar__reset:hover[b-p98c0l3kcd] {
  color: var(--c-accent-700);
}

.tours-bar__sort[b-p98c0l3kcd] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}

.tours-bar__sort-label[b-p98c0l3kcd] {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--c-text-muted);
}

/* Phones: the groups stack; the season buttons share the width and each chip group is one row that scrolls sideways. */
@media (max-width: 600px) {
  .tours-bar[b-p98c0l3kcd] {
    padding: 10px 12px 6px;
  }

  /* nowrap: a wrapping column would stretch every group to the widest one's natural width, past the panel. */
  .tours-bar__filters[b-p98c0l3kcd] {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px;
  }

  .tours-bar__seasons[b-p98c0l3kcd] {
    display: flex;
  }

  .tours-bar__seasons .seg__btn[b-p98c0l3kcd] {
    flex: 1 1 auto;
    padding-inline: 10px;
  }

  .tours-bar__group[b-p98c0l3kcd] {
    flex-wrap: nowrap;
    margin: -5px -12px;
    padding: 5px 12px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-padding-inline: 12px;
    scrollbar-width: none;
  }

  .tours-bar__group[b-p98c0l3kcd]::-webkit-scrollbar {
    display: none;
  }

  .tours-bar__group > .chip[b-p98c0l3kcd] {
    flex: none;
  }

  .tours-bar__foot[b-p98c0l3kcd] {
    margin-top: 8px;
    padding-top: 6px;
    gap: 0 12px;
  }
}

/* ---- The destination of a tile (?destination=): one line above the cards ---- */
.tours-place[b-p98c0l3kcd] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 82ch;
  margin: -8px 0 0;
  padding-left: 4px;
  font-size: .875rem;
  line-height: 1.55;
  color: var(--c-text-soft);
}

.tours-place[b-p98c0l3kcd]  svg {
  flex: none;
  margin-top: 2px;
  color: var(--c-accent-600);
}

.tours-place__name[b-p98c0l3kcd] {
  color: var(--c-heading);
}

/* ---- Cards. The grid is a size container, so "Your own route" can close the last row for the column count the
   grid really has: 2 columns from 660px of grid width, 3 from 1000px (auto-fill of 320px columns, gap 20px). ---- */
.tours-grid[b-p98c0l3kcd] {
  container: tours-grid / inline-size;
}

.tours-grid__item[b-p98c0l3kcd] {
  display: flex;
  flex-direction: column;
}

.tours-grid__item[b-p98c0l3kcd]  .card {
  flex: 1 1 auto;
}

@container tours-grid (min-width: 660px) and (max-width: 999.98px) {
  .tours-custom-cell--full-of2[b-p98c0l3kcd] {
    grid-column: 1 / -1;
  }
}

@container tours-grid (min-width: 1000px) {
  .tours-custom-cell--span2-of3[b-p98c0l3kcd] {
    grid-column: span 2;
  }

  .tours-custom-cell--full-of3[b-p98c0l3kcd] {
    grid-column: 1 / -1;
  }
}

/* ---- Empty state: one row across the grid ---- */
.tours-empty[b-p98c0l3kcd] {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  padding: 18px 20px;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  background: var(--c-surface);
}

.tours-empty__icon[b-p98c0l3kcd] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--c-accent-100);
  color: var(--c-accent-600);
}

.tours-empty__body[b-p98c0l3kcd] {
  display: flex;
  flex: 1 1 280px;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.tours-empty__title[b-p98c0l3kcd] {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.25;
}

.tours-empty__text[b-p98c0l3kcd] {
  margin: 0;
  font-size: .875rem;
  line-height: 1.5;
  color: var(--c-text-soft);
}

.tours-empty__actions[b-p98c0l3kcd] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tours-empty__actions .btn[b-p98c0l3kcd] {
  font-size: .875rem;
}

@media (max-width: 480px) {
  .tours-empty[b-p98c0l3kcd] {
    padding: 16px;
  }

  .tours-empty__actions[b-p98c0l3kcd] {
    width: 100%;
  }

  .tours-empty__actions .btn[b-p98c0l3kcd] {
    flex: 1 1 100%;
  }
}

/* ---- "Your own route": the navy card that always ends the grid, with a low ridge along its foot ---- */
.tours-custom-cell[b-p98c0l3kcd],
.tours-custom-cell > .reveal[b-p98c0l3kcd] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.tours-custom-cell > .reveal[b-p98c0l3kcd] {
  flex: 1 1 auto;
}

.tours-custom[b-p98c0l3kcd] {
  position: relative;
  isolation: isolate;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 12px;
  padding: 22px 22px 84px;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--c-primary-700);
  color: var(--c-on-dark);
  --c-heading: var(--c-on-dark);
  transition: transform var(--transition), box-shadow var(--transition);
}

.tours-custom[b-p98c0l3kcd]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 64px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 80' preserveAspectRatio='none'%3E%3Cpath d='M0 46 L50 26 L96 44 L150 16 L214 42 L270 20 L330 44 L400 24 V80 H0Z' fill='%231E3A5F'/%3E%3Cpath d='M0 64 C100 56 200 54 300 58 S380 66 400 64 V80 H0Z' fill='%230F1E33'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
  pointer-events: none;
}

.tours-custom > *[b-p98c0l3kcd] {
  position: relative;
  z-index: 1;
}

.tours-custom:hover[b-p98c0l3kcd],
.tours-custom:focus-within[b-p98c0l3kcd] {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.tours-custom__intro[b-p98c0l3kcd] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 580px;
}

.tours-custom .eyebrow[b-p98c0l3kcd] {
  margin: 0;
  color: var(--c-accent-300);
}

.tours-custom__title[b-p98c0l3kcd] {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.2;
}

.tours-custom__text[b-p98c0l3kcd] {
  margin: 0;
  font-size: .9375rem;
  line-height: 1.55;
  color: var(--c-on-dark-muted);
}

.tours-custom__points[b-p98c0l3kcd] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .875rem;
  line-height: 1.45;
}

.tours-custom__points li[b-p98c0l3kcd] {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tours-custom__points[b-p98c0l3kcd]  svg {
  flex: none;
  color: var(--c-accent-300);
}

.tours-custom__btn[b-p98c0l3kcd] {
  align-self: flex-start;
  min-height: 46px;
  margin-top: auto;
  padding-inline: 22px;
}

/* The accent button on the navy card: a white focus ring stands out from both. */
.tours-custom__btn:focus-visible[b-p98c0l3kcd] {
  outline-color: #fff;
}

@media (max-width: 600px) {
  .tours-custom[b-p98c0l3kcd] {
    padding: 20px 18px 80px;
  }

  .tours-custom__title[b-p98c0l3kcd] {
    font-size: 1.375rem;
  }
}

/* ---- How to book: a thin strip with the contact pills and three steps ---- */
.tours-book[b-p98c0l3kcd] {
  padding-block: var(--section-y-thin);
  background: var(--c-surface-alt);
}

.tours-book__inner[b-p98c0l3kcd] {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.tours-book__head[b-p98c0l3kcd] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
}

.tours-book__intro[b-p98c0l3kcd] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.tours-book__title[b-p98c0l3kcd] {
  margin: 0;
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  line-height: 1.2;
}

.tours-book__lead[b-p98c0l3kcd] {
  margin: 0;
  font-size: .9375rem;
  color: var(--c-text-soft);
}

/* Call and the social pages: navy outlines with deep-saffron icons, as in the design. */
.tours-book__head[b-p98c0l3kcd]  .btn--outline svg {
  color: var(--c-accent-600);
}

.tours-book__head[b-p98c0l3kcd]  .btn--outline:active svg {
  color: inherit;
}

.tours-book__steps[b-p98c0l3kcd] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tours-book__step[b-p98c0l3kcd] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  background: var(--c-surface);
}

.tours-book__num[b-p98c0l3kcd] {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: var(--r-full);
  background: var(--c-primary);
  color: var(--c-accent-300);
  font-family: var(--font-heading);
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1;
}

.tours-book__step-body[b-p98c0l3kcd] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.tours-book__step-title[b-p98c0l3kcd] {
  margin: 0;
  font-family: var(--font-body);
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
}

.tours-book__step-text[b-p98c0l3kcd] {
  margin: 0;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--c-text-muted);
}

/* stagger the reveal of the three steps (app.css only staggers .grid children) */
.tours-book__steps > .reveal:nth-child(2)[b-p98c0l3kcd] {
  transition-delay: .08s;
}

.tours-book__steps > .reveal:nth-child(3)[b-p98c0l3kcd] {
  transition-delay: .16s;
}

@media (prefers-reduced-motion: reduce) {
  .tours-custom:hover[b-p98c0l3kcd],
  .tours-custom:focus-within[b-p98c0l3kcd] {
    transform: none;
  }
}

/* Print: the result list without the filter controls; the navy card in black on white. */
@media print {
  .tours-bar[b-p98c0l3kcd] {
    margin-top: 0;
    box-shadow: none;
  }

  .tours-bar__filters[b-p98c0l3kcd],
  .tours-bar__sort[b-p98c0l3kcd],
  .tours-bar__reset[b-p98c0l3kcd] {
    display: none !important;
  }

  .tours-bar__foot[b-p98c0l3kcd] {
    margin: 0;
    padding: 0;
    border: 0;
  }

  .tours-custom[b-p98c0l3kcd] {
    padding-bottom: 22px;
    border: 1px solid #000;
    background: none;
    color: #000;
    --c-heading: #000;
  }

  .tours-custom[b-p98c0l3kcd]::after {
    display: none;
  }

  .tours-custom *[b-p98c0l3kcd],
  .tours-custom .eyebrow[b-p98c0l3kcd] {
    color: #000 !important;
  }
}
