/**
 * Guide pages: Kilimanjaro routes, Tanzania costs, Tanzania culture (inc/guide-pages.php). Loaded only on those pages, after
 * ak-added.css. Theme Settings tokens, flat colour, square corners. Its signatures are this site's own: the stamp, permit
 * facts and the altitude chart.
 */
.akg { background: var(--cream); }
.akg-hero { min-height: clamp(380px, 56vh, 560px); }
.akg .akl-hero__bg { opacity: 1; }
.akg .akl-hero__veil { background: color-mix(in srgb, var(--ink) 52%, transparent); }
.akg-hero__lead { max-width: 40rem; margin: 1rem 0 0; font-size: 1.05rem; line-height: 1.7; color: rgba(255, 255, 255, .9); }
.akg .akm-crumbs { flex-wrap: wrap; }

.akg-narrow { max-width: 56rem; }
.akg-prose { margin-top: 1.5rem; }
.akg-prose--center { max-width: 44rem; margin-inline: auto; }
.akg-note { max-width: 56rem; margin: 1.25rem auto 0; font-size: .86rem; line-height: 1.7; text-align: center; color: color-mix(in srgb, var(--ink) 78%, transparent); }
.akg-note a,
.akg-fit a,
.akg-table td a,
.akg-person a { color: var(--clay-700, var(--clay)); text-decoration: underline; text-underline-offset: 3px; }

/* Text beside the facts */
.akg-split { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.akg-facts { position: relative; overflow: hidden; padding: 1.75rem; background: #fff; border: 1px solid color-mix(in srgb, var(--ink) 14%, transparent); border-top: 4px solid var(--clay); }
.akg-facts__stamp { position: absolute; top: -.75rem; right: -.75rem; width: 96px; height: 96px; opacity: .12; pointer-events: none; }
.akg-facts__k { margin: 0 0 1rem; font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }
.akg-facts__list { margin: 0 0 1.4rem; }
.akg-facts__list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-top: 1px dashed color-mix(in srgb, var(--ink) 22%, transparent); }
.akg-facts__list dt { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: color-mix(in srgb, var(--ink) 70%, transparent); }
.akg-facts__list dd { margin: 0; font-size: .92rem; font-weight: 700; text-align: right; color: var(--ink); }

/* Day by day: the route explorer's parts, with the tour's own days */
.akg-kx__panel { align-items: start; }
@media (min-width: 1000px) {
  .akg-kx__panel .ak-kx__profile { position: sticky; top: 110px; }
}
.akg-days { margin: 1rem 0 1.5rem; padding: 0; list-style: none; }
.akg-days li { display: grid; grid-template-columns: 3.6rem minmax(0, 1fr); gap: .75rem; padding: .85rem 0; border-top: 1px dashed color-mix(in srgb, var(--ink) 22%, transparent); }
.akg-days span { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--clay-700, var(--clay)); }
.akg-days b { display: block; font-size: .92rem; line-height: 1.4; color: var(--ink); }
.akg-days p { margin: .3rem 0 0; font-size: .88rem; line-height: 1.65; color: color-mix(in srgb, var(--ink) 82%, transparent); }

/* Is it for you? */
.akg-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.4rem); }
.akg-fit__col { padding: 1.75rem; background: #fff; border: 1px solid color-mix(in srgb, var(--ink) 14%, transparent); border-top: 4px solid var(--clay); }
.akg-fit__col--other { border-top-color: var(--ink); }
.akg-fit h3 { margin: 0 0 .9rem; font-size: .95rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.akg-fit ul { margin: 0; padding: 0; list-style: none; }
.akg-fit li { padding: .55rem 0; font-size: .95rem; line-height: 1.65; color: var(--ink); border-top: 1px dashed color-mix(in srgb, var(--ink) 18%, transparent); }
.akg-fit li:first-child { border-top: 0; }

/* Group dates, like stubs torn from a permit */
.akg-dates { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr)); gap: .75rem; margin-bottom: 0; padding: 0; list-style: none; }
.akg-dates li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .95rem 1.15rem; background: #fff; border: 1px dashed color-mix(in srgb, var(--ink) 28%, transparent); }
.akg-dates__when { font-size: .9rem; font-weight: 700; color: var(--ink); }
.akg-dates a { flex: none; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--clay-700, var(--clay)); text-decoration: underline; text-underline-offset: 3px; }

/* Links at the end */
.akg-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-bottom: 0; padding: 0; list-style: none; }
.akg-links a { display: inline-block; padding: .7rem 1.1rem; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; color: var(--ink); background: #fff; border: 1px solid color-mix(in srgb, var(--ink) 18%, transparent); }
.akg-links a:hover { color: var(--clay-700, var(--clay)); border-color: var(--clay); }

/* Costs: the short answer */
.akg-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: clamp(1rem, 2vw, 1.4rem); margin-bottom: 0; padding: 0; list-style: none; }
.akg-quick a { display: block; height: 100%; padding: 1.6rem; text-align: center; text-decoration: none; background: #fff; border: 1px solid color-mix(in srgb, var(--ink) 14%, transparent); border-top: 4px solid var(--clay); }
.akg-quick__k { display: block; font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }
.akg-quick b { display: block; margin: .55rem 0 .15rem; font-family: var(--font-heading, "Montserrat"), sans-serif; font-size: 1.85rem; font-weight: 800; line-height: 1.1; color: var(--ink); }
.akg-quick__n { font-size: .82rem; color: color-mix(in srgb, var(--ink) 72%, transparent); }

/* Tables */
.akg-table-wrap { overflow-x: auto; background: #fff; border: 1px solid color-mix(in srgb, var(--ink) 14%, transparent); }
.akg-table { width: 100%; min-width: 40rem; border-collapse: collapse; font-size: .92rem; }
.akg-table th,
.akg-table td { padding: .9rem 1.1rem; text-align: left; vertical-align: top; line-height: 1.5; color: var(--ink); border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent); }
.akg-table thead th { font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; background: var(--cream); border-top: 0; }
.akg-table tbody th { font-weight: 700; }

/* Tiles: full rows only, so a grid never ends in a hole. Six columns, three to a row; a short last row shares the width. */
.akg-tiles { display: grid; gap: clamp(1rem, 2vw, 1.4rem); }
.akg-tiles .ak-add__tile { margin: 0; padding: 1.5rem; background: #fff; border: 1px solid color-mix(in srgb, var(--ink) 14%, transparent); border-top: 3px solid var(--clay); }
.akg-tiles h3 { margin: 0 0 .5rem; font-family: var(--font-heading, "Montserrat"), sans-serif; font-size: .92rem; font-weight: 800; letter-spacing: .05em; line-height: 1.35; text-transform: uppercase; color: var(--ink); }
.akg-tiles p { margin: 0; font-size: .92rem; line-height: 1.7; color: color-mix(in srgb, var(--ink) 84%, transparent); }

/* Culture: people */
.akg-people { display: grid; gap: clamp(1rem, 2vw, 1.4rem); }
.akg-person { display: flex; flex-direction: column; background: #fff; border: 1px solid color-mix(in srgb, var(--ink) 14%, transparent); }
.akg-person__photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.akg-person__body { padding: 1.4rem 1.5rem 1.6rem; }
.akg-person__place { margin: 0 0 .3rem; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--clay-700, var(--clay)); }
.akg-person h3 { margin: 0 0 .6rem; font-size: 1.05rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--ink); }
.akg-person p:not(.akg-person__place) { margin: 0 0 .85rem; font-size: .93rem; line-height: 1.7; color: color-mix(in srgb, var(--ink) 84%, transparent); }
.akg-person a { font-size: .85rem; font-weight: 700; }

@media (max-width: 860px) {
  .akg-split,
  .akg-fit { grid-template-columns: minmax(0, 1fr); }
}

/* Wider screens only: three to a row, with a short last row sharing the width, so no grid ends in a hole. */
@media (min-width: 861px) {
  .akg-people,
  .akg-tiles { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .akg-person,
  .akg-tiles .ak-add__tile { grid-column: span 2; }
  .akg-person:nth-child(3n+1):nth-last-child(2),
  .akg-person:nth-child(3n+2):last-child,
  .akg-tiles .ak-add__tile:nth-child(3n+1):nth-last-child(2),
  .akg-tiles .ak-add__tile:nth-child(3n+2):last-child { grid-column: span 3; }
  .akg-person:nth-child(3n+1):last-child,
  .akg-tiles .ak-add__tile:nth-child(3n+1):last-child { grid-column: span 6; }
  .akg-tiles.akg-tiles--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .akg-tiles.akg-tiles--four .ak-add__tile:nth-child(n):nth-child(n):nth-child(n) { grid-column: span 1; }
}
