/* Country pages, list pages, tale and plan furniture. Pearl tokens; only transform and opacity ever move. */
.tch-page, .tch-extras {
  --tch-ivory: var(--wp--preset--color--ivory, #FBF7EF);
  --tch-ocean: #F6F1E7;
  --tch-sand: var(--wp--preset--color--sand, #E9DFCB);
  --tch-champagne: #D4B274;
  --tch-champ-line: #C4A160;
  --tch-bronze: #A67C38;
  --tch-bronze-text: #8A6528;
  --tch-ink: var(--wp--preset--color--ink, #2A2420);
  --tch-muted: #6B6158;
  --tch-hair: var(--wp--preset--color--line, #E4DAC8);
  --tch-display: var(--wp--preset--font-family--display, "Fraunces", Georgia, serif);
  color: var(--tch-ink);
}
.tch-page .tch-sec-title, .tch-extras .tch-sec-title { margin: 0 0 .6em; font-family: var(--tch-display); font-weight: 300; font-size: clamp(32px, 4.4vw, 64px); line-height: 1; letter-spacing: -.015em; }
.tch-page :focus-visible, .tch-extras :focus-visible { outline: 2px solid var(--tch-ink); outline-offset: 3px; }
.tch-section { margin-top: clamp(48px, 8vw, 96px); }

/* Country head and map */
.tch-country-head { padding-top: clamp(24px, 6vw, 72px); }
.tch-kind { margin: 0 0 8px; font-size: 14px; color: var(--tch-muted); letter-spacing: .08em; text-transform: uppercase; }
.tch-country-name { margin: 0; font-size: clamp(48px, 11vw, 168px); overflow-wrap: anywhere; }
.tch-country-facts { margin: 16px 0 0; font-family: var(--tch-display); font-style: italic; font-size: clamp(18px, 2vw, 24px); color: var(--tch-muted); }
.tch-country-map { margin: clamp(24px, 4vw, 48px) auto 0; max-width: 1180px; aspect-ratio: 16 / 10; background: var(--tch-ocean); overflow: hidden; border: 1px solid var(--tch-hair); }
.tch-country-map .jmap { width: 100%; height: 100%; }
.jmap .l { fill: var(--tch-sand); stroke: var(--tch-ocean); }
.jmap .v { fill: var(--tch-champagne); stroke: var(--tch-champ-line); }
.jmap .stop circle { fill: var(--tch-ink); stroke: var(--tch-ocean); }
.jmap .stop text { font-family: var(--tch-display); font-style: italic; fill: var(--tch-ink); stroke: var(--tch-ocean); stroke-width: .32; paint-order: stroke; stroke-linejoin: round; }
.tch-page .tch-gutter, .tch-extras.tch-gutter { max-width: 1180px; margin-left: auto; margin-right: auto; }

/* Rows: journeys, tales, plans */
.tch-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--tch-hair); }
.tch-rows li { border-bottom: 1px solid var(--tch-hair); }
.tch-rows a { display: grid; grid-template-columns: 1fr auto; gap: 4px 24px; padding: 18px 0; text-decoration: none; color: inherit; align-items: baseline; }
.tch-row-name { font-family: var(--tch-display); font-size: clamp(22px, 2.6vw, 34px); line-height: 1.15; transition: transform var(--tch-t-medium, 600ms) var(--tch-ease, ease); }
.tch-rows a:hover .tch-row-name { transform: translateX(6px); }
.tch-row-meta { color: var(--tch-muted); font-size: 15px; text-align: right; }
.tch-row-text { grid-column: 1 / -1; color: var(--tch-muted); max-width: 62ch; font-size: 16px; line-height: 1.55; }
@media (max-width: 600px) { .tch-rows a { grid-template-columns: 1fr; } .tch-row-meta { text-align: left; } }
.tch-year { margin-top: clamp(32px, 5vw, 64px); }
.tch-year-n { margin: 0 0 12px; font-family: var(--tch-display); font-weight: 300; font-size: clamp(28px, 3.4vw, 44px); color: var(--tch-bronze-text); }
.tch-count { margin: 0 0 8px; font-family: var(--tch-display); font-style: italic; font-size: clamp(20px, 2.4vw, 28px); color: var(--tch-muted); }

/* Chips: countries, themes, 360 links */
.tch-chips, .tch-themes ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.tch-chips a, .tch-themes a { display: inline-flex; gap: 8px; align-items: baseline; min-height: 44px; padding: 8px 16px; align-items: center; border: 1px solid var(--tch-hair); border-radius: 999px; text-decoration: none; color: inherit; background: var(--tch-ivory); }
.tch-chips a:hover, .tch-themes a:hover { border-color: var(--tch-champ-line); }
.tch-chips span { color: var(--tch-muted); font-size: 14px; }
.tch-themes { margin: 0 0 28px; }

/* Photographs on a country page: a calm grid, no movement */
.tch-photos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 10px; }
.tch-photos img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; background: var(--tch-sand); }
.tch-photos a { display: block; }

/* Links and notes */
.tch-go { display: inline-block; margin: 6px 24px 6px 0; font-family: var(--tch-display); font-style: italic; font-size: 18px; text-decoration: none; border-bottom: 1px solid var(--tch-bronze); padding-bottom: 2px; color: var(--tch-bronze-text); min-height: 24px; }
.tch-from { margin: 0 0 1.5rem; font-size: 16px; color: #6B6158; }
.tch-from span:first-child { margin-right: .4em; }
.tch-from .when { margin-left: .4em; font-style: italic; }

/* "Plan, tales and countries" on a journey page */
.tch-extras { padding-block: clamp(56px, 8vw, 100px); background: var(--tch-ivory); border-top: 1px solid var(--tch-hair); }
.tch-extras-inner { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 40px; }
.tch-extra p { margin: 0 0 12px; color: var(--tch-muted); }
.tch-tale-links { list-style: none; margin: 0; padding: 0; }
.tch-tale-links li { margin-bottom: 14px; }
.tch-tale-links a { font-family: var(--tch-display); font-size: 22px; display: block; color: inherit; }
.tch-tale-links span { color: var(--tch-muted); font-size: 15px; display: block; }
.tch-more { grid-column: 1 / -1; margin: 0; color: var(--tch-muted); }
.tch-more a { color: var(--tch-bronze-text); }
