/* Journey summary — the at-a-glance version of the field guide (1, 2 or 3 A4 pages).
   Builds on brochure.css (tokens, type, @page std, .bleed-img, season swatches). */

/* ---------- Hero band ---------- */

.s-hero {
  position: relative;
  height: 80mm;
  color: var(--bone);
}
.s-hero--tall {
  height: 118mm;
}
.s-hero .bleed-img {
  inset: calc(-1 * var(--bleed)) calc(-1 * var(--bleed)) 0;
  height: calc(100% + var(--bleed));
}
.s-hero__shade {
  position: absolute;
  inset: calc(-1 * var(--bleed)) calc(-1 * var(--bleed)) 0;
  background: linear-gradient(180deg, rgba(13, 17, 15, 0.6) 0%, rgba(13, 17, 15, 0.05) 35%, rgba(13, 17, 15, 0.3) 50%, rgba(13, 17, 15, 0.92) 100%);
}
.s-hero__top {
  position: absolute;
  inset: 10mm var(--side) auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.s-logo {
  width: 54mm;
  height: auto;
  object-fit: contain;
}
.s-hero--tall .s-logo {
  width: 64mm;
}
.s-hero__bottom {
  position: absolute;
  left: var(--side);
  right: var(--side);
  bottom: 7mm;
}
.s-hero__eyebrow {
  color: var(--ochre-2);
}
.s-title {
  margin-top: 2.5mm;
  font-family: var(--serif);
  font-weight: 400;
  font-size: 40pt;
  line-height: 0.9;
  letter-spacing: -0.02em;
  max-width: 160mm;
}
.s-hero--tall .s-title {
  font-size: 54pt;
}
.s-title em {
  color: var(--ochre-2);
}
.s-guest {
  margin-top: 3.5mm;
  font-family: var(--serif);
  font-size: 12pt;
}
.s-guest .label {
  font-family: var(--cond);
  font-size: 6.6pt;
  opacity: 0.65;
  margin-right: 2mm;
}

/* ---------- Facts row ---------- */

.s-facts {
  margin: 6mm var(--side) 0;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1.1fr 1.1fr 0.8fr;
  border-top: 0.3mm solid var(--ink);
}
.s-facts div {
  padding: 2.4mm 3mm 2.4mm 0;
  border-bottom: 0.25mm solid var(--hair);
}
.s-facts dt {
  color: var(--muted);
}
.s-facts dd {
  font-size: 8.8pt;
  margin-top: 0.6mm;
  line-height: 1.3;
}

/* ---------- Shared bits ---------- */

.s-sub {
  margin-bottom: 2.4mm;
}
.s-sub--gap {
  margin-top: 5mm;
}
.s-map {
  position: relative;
}
.s-map .routemap {
  height: 100%;
  margin: 0;
}
.s-map .routemap figcaption {
  left: 3.5mm;
  bottom: 3mm;
}
.s-map--img {
  overflow: hidden;
}
.s-hl {
  counter-reset: h;
}
.s-hl li {
  counter-increment: h;
  display: grid;
  grid-template-columns: 6mm 1fr;
  padding: 1.7mm 0;
  border-bottom: 0.25mm solid var(--hair);
  font-size: 7.8pt;
  line-height: 1.38;
}
.s-hl li::before {
  content: counter(h, decimal-leading-zero);
  font-family: var(--serif);
  font-size: 10.5pt;
  line-height: 1.05;
  color: var(--ochre);
}
.s-hl--big li {
  font-size: 8.8pt;
  padding: 2.4mm 0;
  grid-template-columns: 8mm 1fr;
}
.s-hl--big li::before {
  font-size: 13pt;
}
.s-head {
  padding: 14mm var(--side) 0;
}
.s-head .display-m {
  margin-top: 2mm;
}

/* Dark footer band shared by every length */
.s-band {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 6mm var(--side) 6mm;
  background: var(--ink);
  color: var(--bone);
  display: grid;
  grid-template-columns: 1fr 1fr 1.05fr;
  gap: 8mm;
}
.s-band .label {
  color: var(--ochre-2);
  margin-bottom: 2.4mm;
}
.s-band__sub {
  margin-top: 4mm;
}
.s-band__big {
  font-family: var(--serif);
  font-size: 15pt;
}
.s-incl li {
  position: relative;
  padding: 0.9mm 0 0.9mm 4mm;
  font-size: 7.6pt;
  line-height: 1.35;
}
.s-incl li::before {
  content: "✦";
  position: absolute;
  left: 0;
  font-size: 6pt;
  top: 1.3mm;
  color: var(--ochre);
}
.s-band .s-incl li {
  color: rgba(244, 238, 227, 0.82);
}
.s-incl--no li {
  color: var(--muted);
}
.s-incl--no li::before {
  content: "—";
  color: inherit;
  opacity: 0.5;
}
.s-seasons ol {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0.6mm;
}
.s-seasons ol li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8mm;
  font-family: var(--cond);
  font-size: 6.2pt;
  letter-spacing: 0.1em;
  opacity: 0.85;
}
.s-seasons .cell {
  position: relative;
  display: block;
  width: 100%;
  height: 5mm;
  overflow: hidden;
}
.s-seasons .cell i {
  position: absolute;
  inset: 0 0 0 50%;
}
.s-seasons ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1mm 3.4mm;
  margin-top: 2.2mm;
  font-size: 6.6pt;
  opacity: 0.8;
}
.s-seasons ul li {
  display: flex;
  align-items: center;
  gap: 1.2mm;
}
.s-seasons ul .sw {
  width: 2.2mm;
  height: 2.2mm;
  margin: 0;
}
.s-contact__email {
  font-family: var(--serif);
  font-size: 13pt;
  line-height: 1.15;
}
.s-contact__meta {
  margin-top: 2.4mm;
  font-size: 6.8pt;
  line-height: 1.5;
  color: rgba(244, 238, 227, 0.6);
}
.s-contact__meta b {
  color: var(--bone);
  font-weight: 500;
}

/* ---------- 1 page: glance sheet ---------- */

.s-one__grid {
  margin: 6mm var(--side) 0;
  display: grid;
  grid-template-columns: 64mm 1fr;
  gap: 9mm;
}
.s-map--one {
  height: 64mm;
  margin-bottom: 5mm;
}
.s-days li {
  display: grid;
  grid-template-columns: 13mm 1fr 42mm;
  gap: 3mm;
  align-items: baseline;
  padding: 2.1mm 0;
  border-bottom: 0.25mm solid var(--hair);
}
.s-days li:first-child {
  border-top: 0.3mm solid var(--ink);
}
.s-days__n {
  font-family: var(--serif);
  font-size: 14pt;
  line-height: 1;
  color: var(--ochre);
  white-space: nowrap;
}
.s-days__t b {
  display: block;
  font-family: var(--serif);
  font-weight: 400;
  font-size: 11pt;
  line-height: 1.12;
}
.s-days__t small,
.s-days__s small {
  display: block;
  margin-top: 0.5mm;
  font-size: 6.8pt;
  color: var(--muted);
}
.s-days__s {
  font-size: 7.8pt;
  line-height: 1.3;
}
.s-days--dense li {
  padding: 1.3mm 0;
}
.s-days--dense .s-days__t b {
  font-size: 10pt;
}

/* ---------- 2 & 3 pages: overview ---------- */

.s-intro {
  margin: 7mm var(--side) 0;
  max-width: 168mm;
  font-family: var(--serif);
  font-size: 14pt;
  line-height: 1.22;
}
.s-over__grid {
  margin: 7mm var(--side) 0;
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 10mm;
}
.s-map--over {
  height: 104mm;
}
.s-ends {
  margin-top: 5mm;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4mm;
}
.s-ends dt {
  color: var(--ember);
}
.s-ends dd {
  font-size: 7.8pt;
  line-height: 1.35;
  margin-top: 0.8mm;
}

/* ---------- Day list (2 & 3 pages) ---------- */

.s-list {
  margin: 6mm var(--side) 0;
}
.s-list li {
  display: grid;
  grid-template-columns: 14mm 1fr 42mm;
  gap: 4mm;
  align-items: start;
  padding: 2.3mm 0;
  border-bottom: 0.25mm solid var(--hair);
}
.s-list li:first-child {
  border-top: 0.3mm solid var(--ink);
}
.s-list--photos li {
  grid-template-columns: 30mm 13mm 1fr 40mm;
  padding: 2.4mm 0;
}
.s-list figure {
  height: 21mm;
  overflow: hidden;
}
.s-list__n {
  font-family: var(--serif);
  font-size: 19pt;
  line-height: 0.95;
  color: var(--ochre);
  white-space: nowrap;
}
.s-list__body h3 {
  margin-top: 0.6mm;
  font-family: var(--serif);
  font-weight: 400;
  font-size: 12.5pt;
  line-height: 1.08;
}
.s-list__body p:last-child {
  margin-top: 1mm;
  font-size: 7.6pt;
  line-height: 1.42;
  color: var(--muted);
}
.s-list__body .label {
  font-size: 6.2pt;
}
.s-list__stay p:nth-child(2) {
  margin-top: 0.8mm;
  font-family: var(--serif);
  font-size: 10pt;
  line-height: 1.15;
}
.s-list__stay small {
  display: block;
  margin-top: 0.6mm;
  font-size: 6.8pt;
  color: var(--muted);
}
.s-list--compact li {
  padding: 1.8mm 0;
}
.s-list--compact .s-list__body p:last-child {
  display: none;
}

.s-band--two {
  grid-template-columns: 1.1fr 1fr 0.95fr;
}
.s-stays li {
  padding: 0.9mm 0;
  font-size: 7.4pt;
  line-height: 1.3;
}
.s-stays b {
  display: block;
  font-family: var(--serif);
  font-weight: 400;
  font-size: 10pt;
}
.s-stays span {
  color: rgba(244, 238, 227, 0.6);
}

/* ---------- 3rd page: stays & pricing ---------- */

.s-lodges {
  margin: 6mm var(--side) 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4mm;
}
.s-lodges figure {
  height: 34mm;
  overflow: hidden;
  margin-bottom: 2.4mm;
}
.s-lodges__name {
  font-family: var(--serif);
  font-size: 11.5pt;
  line-height: 1.1;
}
.s-lodges__where {
  font-family: var(--serif);
  font-style: italic;
  font-size: 8.4pt;
  color: var(--muted);
  margin: 0.6mm 0 1mm;
}
.s-three__grid {
  margin: 9mm var(--side) 0;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 10mm;
}
.s-three .s-seasons ol li {
  opacity: 1;
}
.s-rates {
  width: 100%;
  margin-top: 4mm;
  border-collapse: collapse;
  font-size: 7.8pt;
}
.s-rates td {
  padding: 1.7mm 0;
  border-bottom: 0.25mm solid var(--hair);
}
.s-rates td:first-child {
  font-family: var(--serif);
  font-size: 10pt;
}
.s-rates .sw {
  width: 2.4mm;
  height: 2.4mm;
  margin-right: 1.6mm;
}
.s-rates em {
  font-family: var(--serif);
  color: var(--ember);
}
.s-policies {
  margin-top: 5mm;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3mm 5mm;
}
.s-policies dt {
  color: var(--ember);
}
.s-policies dd {
  margin-top: 0.6mm;
  font-size: 7.4pt;
  line-height: 1.35;
}
.s-note {
  margin-top: 4mm;
  font-family: var(--serif);
  font-style: italic;
  font-size: 8pt;
  color: var(--muted);
}
.s-band--steps {
  grid-template-columns: 1.4fr 1fr;
}
.s-steps {
  counter-reset: st;
}
.s-steps li {
  counter-increment: st;
  position: relative;
  padding: 1mm 0 1mm 6mm;
  font-size: 7.8pt;
  color: rgba(244, 238, 227, 0.78);
}
.s-steps li::before {
  content: counter(st);
  position: absolute;
  left: 0;
  font-family: var(--serif);
  font-size: 11pt;
  line-height: 1;
  color: var(--ochre-2);
}
.s-steps b {
  color: var(--bone);
  font-weight: 500;
}

/* ---------- Screen toolbar: version switcher ---------- */

@media screen {
  .toolbar__links {
    display: flex;
    gap: 1mm;
  }
  .toolbar__links a {
    color: rgba(244, 238, 227, 0.7);
    text-decoration: none;
    padding: 2.4mm 3mm;
    border-radius: 999px;
  }
  .toolbar__links a:hover {
    color: var(--bone);
  }
  .toolbar__links a[aria-current="page"] {
    color: var(--ink);
    background: var(--bone);
  }
}

/* Summaries aren't bound spreads: show pages side by side, centred. */
@media screen {
  .pagedjs_pages {
    width: auto;
    max-width: calc(var(--pagedjs-pagebox-width) * 3 + 24mm);
    column-gap: 12mm;
  }
  .pagedjs_first_page {
    margin-left: 0;
  }
}
