/* Scoped additions keep the existing planner studio layout and typography. */
.tp-hike .tp-intent-confirm { padding: 18px; margin-top: 16px; border: 1px solid var(--tp-line-2); border-radius: 18px; background: var(--tp-card-2); }
.tp-hike .tp-intent-confirm[hidden] { display: none; }
.tp-hike .tp-intent-confirm h3 { margin: 0 0 12px; font: inherit; font-weight: 750; }
.tp-hike .tp-intent-confirm__actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.tp-hike .tp-intent-confirm p { margin-bottom: 0; }
.tp-hike .tp-distance-summary { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--tp-card-2); font-size: 13px; }
.tp-hike .tp-distance-summary.is-warning { color: var(--tp-accent-ink); }
.tp-hike .tp-variant__comparison { display: grid; gap: 6px; margin: 12px 0; font-size: 12px; color: var(--tp-muted, #5c6e65); }
.tp-hike .tp-variant__recommendation { display: inline-block; margin-bottom: 8px; padding: 5px 9px; background: var(--tp-moss); color: var(--tp-forest); border-radius: 9px; font-size: 11px; font-weight: 700; }
.tp-hike .tp-food-plan { display: grid; gap: 22px; min-width: 0; margin-top: 24px; padding: clamp(18px, 2.5vw, 28px); color: var(--tp-ink); }
.tp-hike .tp-food-plan__head { display: flex; gap: 14px; align-items: flex-start; }
.tp-hike .tp-food-plan__icon { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 14px; background: var(--tp-accent-soft); color: var(--tp-accent-ink); }
.tp-hike .tp-food-plan__icon .tp-ico { width: 23px; height: 23px; }
.tp-hike .tp-food-plan__head > div { min-width: 0; flex: 1; }
.tp-hike .tp-food-plan__head h3 { margin: 5px 0 7px; font-size: clamp(20px, 2.4vw, 26px); line-height: 1.2; }
.tp-hike .tp-food-plan__head p { margin: 0; color: var(--tp-muted); font-size: 13.5px; line-height: 1.5; }
.tp-hike .tp-food-plan__duration { display: inline-flex; align-items: center; gap: 6px; flex: none; margin-top: 3px; padding: 8px 11px; border: 1px solid var(--tp-line); border-radius: 11px; background: var(--tp-card-2); color: var(--tp-muted); font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.tp-hike .tp-food-plan__summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.tp-hike .tp-food-plan__summary > div { display: grid; gap: 12px; padding: 15px 16px; border: 1px solid var(--tp-line); border-radius: 16px; background: var(--tp-card-2); }
.tp-hike .tp-food-plan__summary > div:last-child { background: var(--tp-moss); border-color: var(--tp-moss-2); }
.tp-hike .tp-food-plan__summary dt { display: flex; align-items: center; gap: 7px; color: var(--tp-muted); font-size: 12px; font-weight: 700; }
.tp-hike .tp-food-plan__summary dt .tp-ico { color: var(--tp-forest); }
.tp-hike .tp-food-plan__summary dd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 8px; margin: 0; }
.tp-hike .tp-food-plan__summary dd b { color: var(--tp-ink); font-size: 27px; line-height: 1; font-weight: 800; font-variant-numeric: tabular-nums; }
.tp-hike .tp-food-plan__summary dd span { color: var(--tp-muted); font-size: 12.5px; line-height: 1.4; }
.tp-hike .tp-food-plan__table { overflow: hidden; border: 1px solid var(--tp-line); border-radius: 16px; }
.tp-hike .tp-food-plan table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.tp-hike .tp-food-plan caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.tp-hike .tp-food-plan__day-column { width: 18%; }
.tp-hike .tp-food-plan__meals-column { width: 30%; }
.tp-hike .tp-food-plan th, .tp-hike .tp-food-plan td { padding: 12px 16px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--tp-line); }
.tp-hike .tp-food-plan thead th { background: var(--tp-card-2); color: var(--tp-ink-2); font-size: 12px; font-weight: 750; line-height: 1.4; }
.tp-hike .tp-food-plan thead small { display: block; margin-top: 3px; color: var(--tp-muted); font-size: 11.5px; font-weight: 500; }
.tp-hike .tp-food-plan tbody td b, .tp-hike .tp-food-plan tfoot td b { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tp-hike .tp-food-plan__day { display: inline-grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; background: var(--tp-card-2); color: var(--tp-muted); font-size: 12px; font-weight: 750; font-variant-numeric: tabular-nums; }
.tp-hike .tp-food-plan__unit { color: var(--tp-muted); font-size: 12px; }
.tp-hike .tp-food-plan tfoot th, .tp-hike .tp-food-plan tfoot td { border-bottom: 0; background: var(--tp-moss); color: var(--tp-ink); }
.tp-hike .tp-food-plan tfoot th { font-size: 12px; font-weight: 750; }
.tp-hike .tp-food-plan__note { display: flex; gap: 10px; padding: 13px 15px; border: 1px solid var(--tp-line); border-radius: 14px; background: var(--tp-card-2); color: var(--tp-muted); }
.tp-hike .tp-food-plan__note > .tp-ico { margin-top: 2px; color: var(--tp-accent-ink); }
.tp-hike .tp-food-plan__note p { margin: 0; font-size: 12px; line-height: 1.65; }
.tp-hike .tp-food-plan__note b { color: var(--tp-ink-2); font-weight: 700; }
.tp-hike .tp-program { min-width: 0; }
.tp-hike .tp-program__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.tp-hike .tp-program__head h5 { margin: 0; }
.tp-hike .tp-program__head > span { flex: none; color: var(--tp-muted); font-size: 12px; }
.tp-hike .tp-program__selected { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.tp-hike .tp-program__place { min-width: 0; padding: 15px; border: 1px solid var(--tp-line); border-radius: 17px; background: var(--tp-card); }
.tp-hike .tp-program__place-main { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 13px; align-items: start; }
.tp-hike .tp-program__photo { position: relative; width: 76px; height: 88px; min-height: 0; overflow: hidden; border-radius: 12px; }
.tp-hike .tp-program__photo > span, .tp-hike .tp-program__photo .hike-photo-badge { right: 3px; bottom: 3px; left: 3px; max-width: none; padding: 3px 1px; border-radius: 5px; font-size: 9px; line-height: 1.25; text-align: center; white-space: normal; }
.tp-hike .tp-program__copy { min-width: 0; }
.tp-hike .tp-program__category { display: flex; align-items: center; gap: 6px; margin-bottom: 5px; color: var(--tp-accent-ink); font-size: 11px; font-weight: 700; }
.tp-hike .tp-program__category i { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-left: auto; border-radius: 7px; background: var(--tp-card-2); color: var(--tp-muted); font-size: 11px; font-style: normal; font-variant-numeric: tabular-nums; }
.tp-hike .tp-program__copy h6 { margin: 0 0 7px; color: var(--tp-ink); font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
.tp-hike .tp-program__copy p { margin: 0 0 9px; color: var(--tp-ink-2); font-size: 13px; line-height: 1.6; }
.tp-hike .tp-program__distance { display: flex; align-items: center; gap: 5px; color: var(--tp-muted); font-size: 11.5px; }
.tp-hike .tp-program__mode, .tp-hike .tp-program__credit { display: block; margin-top: 5px; color: var(--tp-muted); font-size: 10.5px; line-height: 1.5; }
.tp-hike .tp-program__credit:empty { display: none; }
.tp-hike .tp-description-source { display: block; margin: 0 0 8px; color: var(--tp-muted); font-size: 10.5px; line-height: 1.5; overflow-wrap: anywhere; }
.tp-hike .tp-description-source a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.tp-hike .tp-stay-description { margin: 9px 0; color: var(--tp-ink-2); font-size: 12px; line-height: 1.6; }
.tp-hike .tp-program__actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 9px; margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--tp-line); }
.tp-hike .tp-program__picker { min-width: 0; }
.tp-hike .tp-program__picker summary { display: flex; align-items: center; gap: 6px; width: fit-content; min-height: 36px; padding: 6px 9px; border: 1px solid var(--tp-line-2); border-radius: 10px; color: var(--tp-forest); font-size: 12px; font-weight: 700; cursor: pointer; list-style: none; }
.tp-hike .tp-program__picker summary::-webkit-details-marker { display: none; }
.tp-hike .tp-program__picker summary > span { padding: 2px 5px; border-radius: 5px; background: var(--tp-moss); font-size: 10px; }
.tp-hike .tp-program__picker[open] summary { border-color: var(--tp-moss-2); background: var(--tp-moss); }
.tp-hike .tp-program__picker[open] { grid-column: 1 / -1; grid-row: 2; }
.tp-hike .tp-program__picker[open] ~ .tp-program__remove { grid-column: 2; grid-row: 1; }
.tp-hike .tp-program__remove { display: inline-flex; align-items: center; gap: 5px; min-height: 36px; padding: 6px 9px; border: 1px solid var(--tp-line); border-radius: 10px; background: var(--tp-card-2); color: var(--tp-muted); font-size: 12px; font-weight: 650; cursor: pointer; }
.tp-hike .tp-program__remove:hover { color: var(--tp-danger); border-color: var(--tp-danger); }
.tp-hike .tp-program__options { padding-top: 12px; }
.tp-hike .tp-program__alternatives-intro { margin: 0 0 10px; color: var(--tp-muted); font-size: 12px; line-height: 1.6; }
.tp-hike .tp-program__alternatives { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.tp-hike .tp-program__alternatives > li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 7px 9px; padding: 12px; border: 1px solid var(--tp-line); border-radius: 12px; background: var(--tp-card-2); }
.tp-hike .tp-program__alternative-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--tp-moss); color: var(--tp-forest); }
.tp-hike .tp-program__alternatives b { color: var(--tp-ink); font-size: 12.5px; line-height: 1.4; overflow-wrap: anywhere; }
.tp-hike .tp-program__alternatives p { margin: 5px 0 7px; color: var(--tp-ink-2); font-size: 12px; line-height: 1.6; }
.tp-hike .tp-program__alternatives small { color: var(--tp-muted); font-size: 10.5px; line-height: 1.5; }
.tp-hike .tp-program__choose { grid-column: 2; display: inline-flex; align-items: center; justify-content: center; justify-self: start; gap: 6px; min-height: 36px; padding: 7px 11px; border: 1px solid var(--tp-moss-2); border-radius: 10px; background: var(--tp-moss); color: var(--tp-forest); font-size: 12px; font-weight: 700; cursor: pointer; }
.tp-hike .tp-program__choose:hover { border-color: var(--tp-forest); }
.tp-hike .tp-program__choose:disabled, .tp-hike .tp-program__remove:disabled { opacity: .55; cursor: wait; }
.tp-hike .tp-program__pages { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 12px; color: var(--tp-muted); font-size: 11px; }
.tp-hike .tp-program__pages .tp-link { font-size: 11.5px; }
.tp-hike .tp-program__empty, .tp-hike .tp-program__locked, .tp-hike .tp-program__no-alternatives { margin: 8px 0 0; color: var(--tp-muted); font-size: 12px; line-height: 1.6; }
.tp-hike .tp-program__add { margin-top: 13px; }
.tp-hike .tp-program__add summary { border-style: dashed; }
.tp-hike .hike-map-popup p { margin: 7px 0; font-size: 12px; line-height: 1.5; }
.tp-hike .tp-route-method { margin-top: 16px; color: var(--tp-muted, #5c6e65); font-size: 12px; }
.tp-hike .tp-route-method summary { cursor: pointer; font-weight: 650; }
.tp-hike .tp-day-assessment { display: grid; gap: 8px; margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: var(--tp-card-2); font-size: 12px; color: var(--tp-muted); }
.tp-hike .tp-day-assessment p { margin: 0; }
.tp-hike .tp-program__stop-time { display: flex; align-items: center; gap: 5px; margin-top: 7px; color: var(--tp-forest); font-size: 11px; font-weight: 650; }
.tp-hike .tp-place-map-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; margin-top: 10px; padding: 8px 11px; border: 1px solid var(--tp-moss-2); border-radius: 10px; background: var(--tp-moss); color: var(--tp-forest); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; text-decoration: none; }
.tp-hike .tp-place-map-button:hover { border-color: var(--tp-forest); }
.tp-hike .tp-place-map-button:disabled { opacity: .6; cursor: default; }
.tp-hike .tp-map-focus-status { margin: 0 0 12px; color: var(--tp-muted); font-size: 12px; line-height: 1.6; }
.tp-hike .tp-day-lunch { padding: 16px; margin: 0 0 16px; border: 1px solid var(--tp-accent); border-radius: 16px; background: var(--tp-accent-soft); }
.tp-hike .tp-day-lunch > header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.tp-hike .tp-day-lunch h5 { display: flex; align-items: center; gap: 7px; color: var(--tp-accent-ink); font-size: 13px; text-transform: none; letter-spacing: 0; margin: 0; }
.tp-hike .tp-day-lunch h6, .tp-hike .tp-day-lunch > b { display: block; margin: 0; color: var(--tp-ink); font-size: 14px; line-height: 1.5; }
.tp-hike .tp-day-lunch p { margin: 8px 0; color: var(--tp-ink-2); font-size: 12px; line-height: 1.6; }
.tp-hike .tp-day-lunch__meta, .tp-hike .tp-day-lunch > header > span { color: var(--tp-accent-ink); font-size: 11px; font-weight: 650; line-height: 1.5; }
.tp-hike .tp-day-lunch .tp-program__selected { margin-top: 12px; }
.tp-hike .tp-day-lunch .tp-program__selected > li { padding: 0; border: 0; background: transparent; }
.tp-hike .tp-day-schedule { min-width: 0; margin: 18px 0 22px; padding: 18px; border: 1px solid var(--tp-line); border-radius: 16px; background: var(--tp-card-2); }
.tp-hike .tp-day-schedule h5 { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 14px; text-transform: none; letter-spacing: 0; }
.tp-hike .tp-day-schedule > p { margin: 8px 0 14px; color: var(--tp-muted); font-size: 11px; line-height: 1.6; }
.tp-hike .tp-day-schedule > ol { list-style: none; margin: 0; padding: 0; }
.tp-hike .tp-day-schedule > ol > li { position: relative; display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; padding: 0 0 16px; }
.tp-hike .tp-day-schedule > ol > li:last-child { padding-bottom: 0; }
.tp-hike .tp-day-schedule > ol > li::before { position: absolute; content: ''; left: 78px; top: 10px; bottom: -10px; width: 1px; background: var(--tp-line-2); }
.tp-hike .tp-day-schedule > ol > li:last-child::before { display: none; }
.tp-hike .tp-day-schedule time { display: block; padding-top: 2px; color: var(--tp-forest); font-size: 14px; font-weight: 750; font-variant-numeric: tabular-nums; }
.tp-hike .tp-day-schedule time small { display: block; margin-top: 2px; color: var(--tp-muted); font-size: 10px; font-weight: 500; }
.tp-hike .tp-day-schedule__body { position: relative; min-width: 0; padding: 0 0 0 10px; }
.tp-hike .tp-day-schedule__body::before { position: absolute; content: ''; left: -13px; top: 6px; width: 7px; height: 7px; border: 2px solid var(--tp-card-2); border-radius: 50%; background: var(--tp-forest); }
.tp-hike .tp-day-schedule__body > b { display: flex; align-items: flex-start; gap: 6px; color: var(--tp-ink); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.tp-hike .tp-day-schedule__body > span { display: flex; align-items: center; gap: 6px; margin-bottom: 3px; color: var(--tp-muted); font-size: 11px; font-weight: 650; line-height: 1.5; }
.tp-hike .tp-day-schedule__body .tp-ico { flex: none; width: 15px; height: 15px; margin-top: 2px; }
.tp-hike .tp-day-schedule__meta { display: block; margin-top: 4px; color: var(--tp-muted); font-size: 11px; line-height: 1.6; }
.tp-hike .tp-day-schedule .is-lunch .tp-day-schedule__body { padding: 12px; border: 1px solid var(--tp-accent); border-radius: 12px; background: var(--tp-accent-soft); }
.tp-hike .tp-day-schedule .is-lunch time, .tp-hike .tp-day-schedule .is-lunch .tp-day-schedule__body > b { color: var(--tp-accent-ink); }
.tp-hike .tp-day-schedule .is-lunch .tp-day-schedule__body > span { color: var(--tp-accent-ink); }
.tp-hike .tp-day-schedule .is-lunch .tp-day-schedule__body::before { background: var(--tp-accent); }
.tp-hike .tp-day-time { margin-top: 22px; padding: 16px; border: 1px solid var(--tp-line); border-radius: 16px; background: var(--tp-card-2); }
.tp-hike .tp-day-time > header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.tp-hike .tp-day-time h5 { display: flex; gap: 7px; align-items: center; margin: 0; font-size: 14px; line-height: 1.4; text-transform: none; letter-spacing: 0; }
.tp-hike .tp-day-time > header > b { color: var(--tp-forest); font-size: 14px; font-variant-numeric: tabular-nums; }
.tp-hike .tp-day-time > header small { display: inline-block; color: var(--tp-muted); font-size: 11px; font-weight: 500; }
.tp-hike .tp-day-time dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 16px 0 0; }
.tp-hike .tp-day-time dt { color: var(--tp-muted); font-size: 11px; line-height: 1.5; }
.tp-hike .tp-day-time dd { margin: 5px 0 0; color: var(--tp-ink); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.tp-hike .tp-day-time p, .tp-hike .tp-day-time details { margin: 12px 0 0; color: var(--tp-muted); font-size: 11px; line-height: 1.6; }
.tp-hike .tp-day-time summary { cursor: pointer; font-size: 12px; font-weight: 650; }
.tp-hike .tp-day-time ul { display: grid; gap: 6px; margin: 10px 0 0; padding-left: 18px; }
.tp-hike .tp-day-assessment .tp-day-surfaces { display: grid; gap: 7px; }
.tp-hike .tp-day-assessment .tp-day-surfaces > div { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.tp-hike .tp-day-assessment .tp-day-surfaces span { padding: 4px 7px; border: 1px solid var(--tp-line); border-radius: 8px; }
.tp-hike .tp-day-assessment .tp-day-surfaces span b { font-weight: 600; }
.tp-hike .tp-day-terrain { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 14px; margin-top: 22px; }
.tp-hike .tp-day-terrain > section { min-width: 0; padding: 16px; border: 1px solid var(--tp-line); border-radius: 16px; background: var(--tp-card-2); }
.tp-hike .tp-day-terrain h5 { margin: 0; color: var(--tp-ink); font-size: 14px; font-weight: 750; line-height: 1.4; text-transform: none; letter-spacing: 0; }
.tp-hike .tp-day-elevation__head { margin-bottom: 12px; }
.tp-hike .tp-day-elevation__extremes { display: flex; gap: 24px; margin: 0 0 6px; }
.tp-hike .tp-day-elevation__extremes > div { display: flex; gap: 7px; align-items: baseline; }
.tp-hike .tp-day-elevation__extremes dt { color: var(--tp-muted); font-size: 11px; }
.tp-hike .tp-day-elevation__extremes dd { margin: 0; color: var(--tp-ink-2); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.tp-hike .tp-day-elevation__plot { min-width: 0; }
.tp-hike .tp-day-elevation__plot svg { display: block; width: 100%; height: auto; max-height: 240px; overflow: visible; font-family: inherit; }
.tp-hike .tp-day-elevation__plot text { fill: var(--tp-muted); font-size: 12px; }
.tp-hike .tp-day-elevation__plot line { stroke: var(--tp-line-2); }
.tp-hike .tp-day-elevation__note, .tp-hike .tp-day-terrain__credit, .tp-hike .tp-day-terrain .tp-day-surfaces > p { margin: 10px 0 0; color: var(--tp-muted); font-size: 11px; line-height: 1.6; }
.tp-hike .tp-day-terrain__credit a { color: inherit; text-underline-offset: 2px; }
.tp-hike .tp-day-terrain .is-empty p { font-size: 12px; }
.tp-hike .tp-day-surfaces__bar { display: flex; width: 100%; height: 10px; margin: 18px 0 15px; overflow: hidden; border-radius: 999px; background: var(--tp-line); }
.tp-hike .tp-day-surfaces__bar > span { display: block; flex: none; height: 100%; }
.tp-hike .tp-day-surfaces__legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; padding: 0; margin: 0; list-style: none; }
.tp-hike .tp-day-surfaces__legend li { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: baseline; gap: 7px; min-width: 0; color: var(--tp-ink-2); font-size: 11px; line-height: 1.5; }
.tp-hike .tp-day-surfaces__legend li span { overflow-wrap: anywhere; }
.tp-hike .tp-day-surfaces__legend b { font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tp-hike .tp-day-surfaces__swatch { display: inline-block; width: 9px; height: 9px; border-radius: 3px; box-shadow: inset 0 0 0 1px #ffffff24; }
@media (max-width: 800px) {
  .tp-hike .tp-day-terrain { grid-template-columns: minmax(0, 1fr); }
  .tp-hike .tp-day-time dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tp-hike .tp-place-map-button { min-height: 44px; }
  .tp-hike .tp-day-schedule { padding: 13px; }
  .tp-hike .tp-day-schedule > ol > li { grid-template-columns: 60px minmax(0, 1fr); gap: 12px; }
  .tp-hike .tp-day-schedule > ol > li::before { left: 64px; }
  .tp-hike .tp-day-schedule time { font-size: 13px; }
}
.tp-hike .tp-rebuild-notice { margin: 18px 0; padding: 16px; border: 1px solid var(--tp-line); border-radius: 14px; background: var(--tp-card-2); font-size: 13px; }
.tp-hike .tp-rebuild-notice[hidden] { display: none; }
.tp-hike .tp-rebuild-notice h3 { margin: 0 0 10px; font: inherit; font-weight: 700; }
.tp-hike .tp-rebuild-notice p { margin: 8px 0; }
.tp-hike .hike-day__alternatives li { margin-bottom: 10px; }
.tp-hike .hike-day__alternatives button { display: block; margin-top: 4px; }
.tp-hike [data-hike-gear-status] { min-height: 1.3em; margin: 8px 0; font-size: 12px; color: var(--tp-muted, #5c6e65); }
.tp-hike .tp-pending-link { display: inline-flex; align-items: center; margin-top: 10px; }
.tp-hike .hike-map-endpoint.is-editable { cursor: grab; outline: 2px solid var(--tp-accent); outline-offset: 3px; }
.tp-hike .tp-finish-controls { margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--tp-line); border-radius: 12px; font-size: 12px; }
.tp-hike .tp-finish-controls summary { cursor: pointer; font-weight: 650; }
.tp-hike .tp-finish-controls p { margin: 10px 0; color: var(--tp-muted); }
.tp-hike .tp-finish-controls > div { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.tp-hike .tp-finish-controls label { display: grid; gap: 5px; }
.tp-hike .tp-finish-controls input { width: 130px; padding: 8px; border: 1px solid var(--tp-line); border-radius: 8px; background: var(--tp-card); color: var(--tp-ink); font: inherit; }
@media (max-width: 580px) {
  .tp-hike .tp-intent-confirm { padding: 14px; }
  .tp-hike .tp-food-plan { gap: 18px; padding: 16px; }
  .tp-hike .tp-food-plan__head { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; }
  .tp-hike .tp-food-plan__icon { width: 38px; height: 38px; border-radius: 12px; }
  .tp-hike .tp-food-plan__head h3 { font-size: 20px; }
  .tp-hike .tp-food-plan__head .tp-kicker { font-size: 10px; }
  .tp-hike .tp-food-plan__duration { grid-column: 2; width: max-content; max-width: 100%; margin: 0; padding: 6px 9px; font-size: 12px; }
  .tp-hike .tp-food-plan__summary { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .tp-hike .tp-food-plan__summary > div { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px 13px; border-radius: 12px; }
  .tp-hike .tp-food-plan__summary dd { justify-content: flex-end; gap: 4px 7px; }
  .tp-hike .tp-food-plan__summary dd b { font-size: 22px; }
  .tp-hike .tp-food-plan__summary dd span { max-width: 98px; font-size: 11.5px; }
  .tp-hike .tp-food-plan th, .tp-hike .tp-food-plan td { padding: 10px 8px; font-size: 12px; }
  .tp-hike .tp-food-plan thead th { font-size: 11px; }
  .tp-hike .tp-food-plan thead small { font-size: 10px; }
  .tp-hike .tp-food-plan__day-column { width: 19%; }
  .tp-hike .tp-food-plan__meals-column { width: 28%; }
  .tp-hike .tp-food-plan__unit { font-size: 11px; }
  .tp-hike .tp-food-plan__note { padding: 11px 12px; }
  .tp-hike .tp-program__place { padding: 12px; }
  .tp-hike .tp-program__place-main { grid-template-columns: 58px minmax(0, 1fr); gap: 10px; }
  .tp-hike .tp-program__photo { width: 58px; height: 74px; border-radius: 10px; }
  .tp-hike .tp-program__copy h6 { font-size: 14px; }
  .tp-hike .tp-program__copy p { font-size: 12px; }
  .tp-hike .tp-program__category { flex-wrap: wrap; font-size: 10px; }
  .tp-hike .tp-program__category i { display: none; }
  .tp-hike .tp-program__head { gap: 8px; }
  .tp-hike .tp-program__head h5 { font-size: 11px; }
  .tp-hike .tp-program__head > span { font-size: 11px; }
  .tp-hike .tp-program__pages { flex-wrap: wrap; }
  .tp-hike .tp-program__picker summary, .tp-hike .tp-program__remove, .tp-hike .tp-program__choose { min-height: 44px; }
  .tp-hike .tp-day-terrain { gap: 10px; margin-top: 18px; }
  .tp-hike .tp-day-terrain > section { padding: 13px; border-radius: 13px; }
  .tp-hike .tp-day-elevation__extremes { flex-wrap: wrap; gap: 8px 18px; }
  .tp-hike .tp-day-elevation__plot text { font-size: 15px; }
  .tp-hike .tp-day-surfaces__legend { gap: 8px 12px; }
}

/* ---- "По дням": one readable structure per day ---- */
.tp-hike .tp-day { scroll-margin-top: calc(var(--tp-sticky-top) + 132px); }
.tp-hike .tp-daynav { position: sticky; top: calc(var(--tp-sticky-top) + 64px); z-index: 30; display: flex; gap: 8px; margin: 0 0 18px; padding: 8px; overflow-x: auto; border: 1px solid var(--tp-line); border-radius: 18px; background: color-mix(in srgb, var(--tp-card) 90%, transparent); box-shadow: var(--tp-shadow-sm); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); scrollbar-width: none; }
.tp-hike .tp-daynav::-webkit-scrollbar { display: none; }
.tp-hike .tp-daynav__item { position: relative; display: grid; flex: 1 0 auto; gap: 1px; min-width: 104px; padding: 8px 14px 9px; border: 1px solid transparent; border-radius: 13px; background: var(--tp-card-2); color: var(--tp-ink); text-align: left; cursor: pointer; transition: background-color .25s ease, border-color .25s ease, transform .25s ease; }
.tp-hike .tp-daynav__item::before { content: ''; position: absolute; left: 14px; right: 14px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--tp-day); opacity: .55; transition: opacity .25s ease, left .25s ease, right .25s ease; }
.tp-hike .tp-daynav__item b { font-size: 13.5px; font-weight: 800; }
.tp-hike .tp-daynav__item span { color: var(--tp-muted); font-size: 11.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tp-hike .tp-daynav__item:hover { transform: translateY(-1px); }
.tp-hike .tp-daynav__item[aria-current="true"] { border-color: color-mix(in srgb, var(--tp-day) 55%, transparent); background: color-mix(in srgb, var(--tp-day) 12%, var(--tp-card)); }
.tp-hike .tp-daynav__item[aria-current="true"]::before { left: 0; right: 0; opacity: 1; }

.tp-hike .tp-plan-settings { flex: none; align-self: flex-start; border: 1px solid var(--tp-line); border-radius: 14px; background: var(--tp-card); }
.tp-hike .tp-plan-settings > summary { display: flex; align-items: center; gap: 8px; padding: 9px 13px; color: var(--tp-ink-2); font-size: 13px; font-weight: 700; cursor: pointer; list-style: none; }
.tp-hike .tp-plan-settings > summary::-webkit-details-marker { display: none; }
.tp-hike .tp-plan-settings > summary em { color: var(--tp-accent-ink); font-size: 12px; font-style: normal; font-weight: 750; }
.tp-hike .tp-plan-settings .tp-plan-edit { padding: 4px 13px 13px; }

.tp-hike .tp-day__body > header { margin-bottom: 14px; }
.tp-hike .tp-day__arrow { color: var(--tp-day); }
.tp-hike .tp-day__glance { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 6px; padding: 0; list-style: none; }
.tp-hike .tp-day__glance li { display: grid; align-content: start; gap: 3px; min-width: 0; padding: 12px 13px; border: 1px solid var(--tp-line); border-radius: 14px; background: color-mix(in srgb, var(--tp-day) 7%, var(--tp-card-2)); }
.tp-hike .tp-day__glance .tp-ico { width: 18px; height: 18px; color: var(--tp-day); }
.tp-hike .tp-day__glance span { color: var(--tp-muted); font-size: 11.5px; font-weight: 700; }
.tp-hike .tp-day__glance b { color: var(--tp-ink); font-size: 16px; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.tp-hike .tp-day__glance small { color: var(--tp-muted); font-size: 11px; }

.tp-hike .tp-day__step { display: flex; align-items: center; gap: 10px; margin: 24px 0 12px; color: var(--tp-ink); font-size: 15px; font-weight: 800; letter-spacing: -.01em; text-transform: none; }
.tp-hike .tp-day__step i { display: inline-grid; flex: none; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: var(--tp-day); color: #fff; font-size: 12.5px; font-style: normal; font-weight: 900; }
.tp-hike .tp-day__step::after { content: ''; flex: 1; height: 1px; background: var(--tp-line); }
.tp-hike .tp-day .tp-day-schedule { margin: 0 0 6px; }

.tp-hike .tp-day__checks { border: 1px solid var(--tp-line); border-radius: 16px; background: var(--tp-card-2); }
.tp-hike .tp-day__checks > summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 14px; padding: 13px 16px; cursor: pointer; list-style: none; }
.tp-hike .tp-day__checks > summary::-webkit-details-marker { display: none; }
.tp-hike .tp-day__checks > summary > span { display: inline-flex; align-items: center; gap: 8px; color: var(--tp-ink); font-size: 14px; font-weight: 800; }
.tp-hike .tp-day__checks > summary small { color: var(--tp-muted); font-size: 12px; }
.tp-hike .tp-day__checks > summary::after { content: '＋'; margin-left: auto; color: var(--tp-accent-ink); font-weight: 800; }
.tp-hike .tp-day__checks[open] > summary::after { content: '−'; }
.tp-hike .tp-day__checks-body { padding: 0 16px 16px; }
.tp-hike .tp-day__checks-body > :first-child { margin-top: 0; }

@media (max-width: 860px) {
  .tp-hike .tp-day__glance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tp-hike .tp-daynav { top: calc(var(--tp-sticky-top) + 60px); margin-inline: -4px; }
  .tp-hike .tp-plan-settings { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .tp-hike .tp-daynav__item, .tp-hike .tp-daynav__item::before { transition: none; }
}

/* ---- Карта: day switcher and tidy editing ---- */
.tp-hike .tp-mapbar { display: flex; gap: 8px; margin: 0 0 12px; padding: 6px; overflow-x: auto; border: 1px solid var(--tp-line); border-radius: 16px; background: var(--tp-card); scrollbar-width: none; }
.tp-hike .tp-mapbar::-webkit-scrollbar { display: none; }
.tp-hike .tp-mapbar__item { position: relative; display: grid; flex: 1 0 auto; gap: 1px; min-width: 108px; padding: 8px 14px 10px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: var(--tp-ink); text-align: left; cursor: pointer; transition: background-color .25s ease, border-color .25s ease; }
.tp-hike .tp-mapbar__item::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--tp-day, var(--tp-ink)); opacity: .5; transition: opacity .25s ease, left .25s ease, right .25s ease; }
.tp-hike .tp-mapbar__item b { font-size: 13.5px; font-weight: 800; }
.tp-hike .tp-mapbar__item span { color: var(--tp-muted); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.tp-hike .tp-mapbar__item:hover { background: var(--tp-card-2); }
.tp-hike .tp-mapbar__item[aria-pressed="true"] { border-color: color-mix(in srgb, var(--tp-day, var(--tp-ink)) 50%, transparent); background: color-mix(in srgb, var(--tp-day, var(--tp-ink)) 11%, var(--tp-card)); }
.tp-hike .tp-mapbar__item[aria-pressed="true"]::after { left: 0; right: 0; opacity: 1; }
.tp-hike .tp-map-edit { margin: 0 0 12px; border: 1px solid var(--tp-line); border-radius: 16px; background: var(--tp-card); }
.tp-hike .tp-map-edit > summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 12px 16px; color: var(--tp-ink); font-size: 14px; font-weight: 800; cursor: pointer; list-style: none; }
.tp-hike .tp-map-edit > summary::-webkit-details-marker { display: none; }
.tp-hike .tp-map-edit > summary > span { display: inline-flex; align-items: center; gap: 8px; }
.tp-hike .tp-map-edit > summary small { color: var(--tp-muted); font-size: 12px; font-weight: 500; }
.tp-hike .tp-map-edit > summary::after { content: '＋'; margin-left: auto; color: var(--tp-accent-ink); }
.tp-hike .tp-map-edit[open] > summary::after { content: '−'; }
.tp-hike .tp-map-edit__body { display: grid; gap: 10px; padding: 0 12px 12px; }
.tp-hike .tp-map-edit__body > .tp-finish-controls { margin: 0; }
.tp-hike .tp-map-shell { border-radius: 22px; }

/* ---- Сборы: the backpack that fills up ---- */
.tp-hike .tp-pack { position: relative; display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: clamp(16px, 3vw, 32px); align-items: center; margin: 0 0 22px; padding: clamp(18px, 3vw, 28px); overflow: hidden; border: 1px solid var(--tp-line); border-radius: 26px; background: radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--tp-moss) 70%, var(--tp-card)) 0%, var(--tp-card) 62%); box-shadow: var(--tp-shadow-sm); transition: border-color .5s ease, box-shadow .5s ease; }
.tp-hike .tp-pack.is-ready { border-color: var(--tp-forest); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tp-forest) 16%, transparent), var(--tp-shadow-sm); }
.tp-hike .tp-pack__art { width: 100%; height: auto; overflow: visible; }
.tp-hike .tp-pack__handle { fill: none; stroke: var(--tp-forest); stroke-width: 5; stroke-linecap: round; }
.tp-hike .tp-pack__body { fill: var(--tp-card); stroke: var(--tp-forest); stroke-width: 4; }
.tp-hike .tp-pack__fill { fill: var(--tp-forest); opacity: .88; transform: translateY(calc((1 - var(--tp-p, 0)) * 100px)); transition: transform .8s cubic-bezier(.22, 1.2, .36, 1); }
.tp-hike .tp-pack__flap, .tp-hike .tp-pack__zip { fill: none; stroke: color-mix(in srgb, var(--tp-ink) 55%, transparent); stroke-width: 3; stroke-linecap: round; }
.tp-hike .tp-pack__pocket { fill: color-mix(in srgb, var(--tp-card) 55%, transparent); stroke: color-mix(in srgb, var(--tp-ink) 55%, transparent); stroke-width: 3; }
.tp-hike .tp-pack__copy h3 { margin: 4px 0 6px; color: var(--tp-ink); font-size: clamp(21px, 2.6vw, 28px); font-weight: 850; letter-spacing: -.03em; line-height: 1.15; }
.tp-hike .tp-pack__copy > p { margin: 0 0 14px; color: var(--tp-muted); font-size: 13.5px; line-height: 1.55; }
.tp-hike .tp-pack__stats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.tp-hike .tp-pack__stats > span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid var(--tp-line); border-radius: 12px; background: var(--tp-card); color: var(--tp-ink-2); font-size: 13px; font-variant-numeric: tabular-nums; }
.tp-hike .tp-pack__stats .tp-ico { width: 16px; height: 16px; color: var(--tp-forest); }
.tp-hike .tp-pack__stats small { color: var(--tp-muted); font-size: 12px; }
.tp-hike .tp-pack__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.tp-hike .tp-pack__remaining { border-color: var(--tp-line-2); background: var(--tp-card); color: var(--tp-ink); backdrop-filter: none; -webkit-backdrop-filter: none; }
.tp-hike .tp-pack__remaining:hover { background: var(--tp-card-2); }
.tp-hike .tp-pack__remaining[aria-pressed="true"] { border-color: var(--tp-forest); background: var(--tp-moss); color: var(--tp-forest); }
.tp-hike .tp-pack__status { min-height: 1em; margin: 10px 0 0; font-size: 12px; }
.tp-hike .tp-pack__status:empty { display: none; }
.tp-hike .tp-pack.is-celebrating .tp-pack__art { animation: tp-pack-hop .7s cubic-bezier(.3, 1.6, .5, 1); }
.tp-hike .tp-pack.is-celebrating::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 18% 50%, color-mix(in srgb, var(--tp-forest) 28%, transparent), transparent 55%); animation: tp-pack-glow 1.2s ease-out forwards; }
@keyframes tp-pack-hop { 0% { transform: scale(1); } 35% { transform: translateY(-10px) scale(1.06) rotate(-3deg); } 70% { transform: translateY(0) scale(.98) rotate(2deg); } 100% { transform: none; } }
@keyframes tp-pack-glow { from { opacity: 1; } to { opacity: 0; } }

.tp-hike .tp-gearsets { display: grid; gap: 18px; }
.tp-hike .tp-gearset > header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; margin: 0 0 10px; }
.tp-hike .tp-gearset__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: var(--tp-accent-soft); color: var(--tp-accent-ink); transition: background-color .3s ease, color .3s ease; }
.tp-hike .tp-gearset.is-done .tp-gearset__icon { background: var(--tp-forest); color: #fff; }
.tp-hike .tp-gearset h4 { margin: 0 0 6px; color: var(--tp-ink); font-size: 16px; font-weight: 800; }
.tp-hike .tp-gearset__bar { height: 5px; overflow: hidden; border-radius: 5px; background: var(--tp-line); }
.tp-hike .tp-gearset__bar i { display: block; height: 100%; border-radius: 5px; background: var(--tp-forest); transform-origin: left; transform: scaleX(var(--tp-g, 0)); transition: transform .5s cubic-bezier(.22, 1, .36, 1); }
.tp-hike .tp-gearset > header > b { color: var(--tp-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.tp-hike .tp-gear { grid-template-columns: auto minmax(0, 1fr) auto auto; transition: border-color .25s ease, background-color .25s ease, transform .2s ease, opacity .25s ease; }
.tp-hike .tp-gear:active { transform: scale(.98); }
.tp-hike .tp-gear__weight { padding: 3px 8px; border-radius: 8px; background: var(--tp-card-2); color: var(--tp-muted); font-size: 11.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tp-hike .tp-gear:has(input:checked) .tp-gear__check { animation: tp-gear-pop .45s cubic-bezier(.3, 1.8, .5, 1); }
@keyframes tp-gear-pop { 0% { transform: scale(.6); } 60% { transform: scale(1.35); } 100% { transform: scale(1.1); } }
.tp-hike .tp-gearpanel.is-remaining-only .tp-gear:has(input:checked) { display: none; }
.tp-hike .tp-gearpanel.is-remaining-only .tp-gearset.is-done { display: none; }
.tp-hike .tp-gearpanel__empty { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; padding: 16px; border-radius: 16px; background: var(--tp-moss); color: var(--tp-forest); font-weight: 750; }
.tp-hike .tp-gearpanel__empty[hidden] { display: none; }
.tp-hike .tp-gearpanel .tp-food-plan, .tp-hike .tp-gearpanel .tp-note { margin-top: 22px; }

@media (max-width: 720px) {
  .tp-hike .tp-pack { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
  .tp-hike .tp-pack__art { width: 132px; }
  .tp-hike .tp-pack__stats, .tp-hike .tp-pack__actions { justify-content: center; }
  .tp-hike .tp-gearset > header { grid-template-columns: auto minmax(0, 1fr) auto; }
  .tp-hike .tp-gearset > header > .tp-link { grid-column: 1 / -1; justify-self: start; }
  .tp-hike .tp-gear-list { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .tp-hike .tp-pack__fill, .tp-hike .tp-gearset__bar i, .tp-hike .tp-gear { transition: none; }
  .tp-hike .tp-pack.is-celebrating .tp-pack__art, .tp-hike .tp-pack.is-celebrating::after, .tp-hike .tp-gear:has(input:checked) .tp-gear__check { animation: none; }
}

/* Native PLUS disclosure keeps the existing new-hike/travel layout intact. */
.tp-studio .tp-plus-access__disclosure { width: 100%; min-width: 0; }
.tp-studio .tp-plus-access__details { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.tp-studio:not(.has-finished-hike) .tp-plus-access__toggle { display: none; }
@media (max-width: 640px) {
  .tp-studio .tp-plus-access__details { flex-direction: column; align-items: flex-start; gap: 14px; }
}

/* Finished hikes prioritize navigation and the day's single, editable timeline. */
.ai-guide.tp-studio.has-finished-hike { --tp-result-tabs-height: 56px; --tp-daynav-height: 66px; padding-top: 20px; }
.tp-studio.has-finished-hike .tp-studio-head { margin-bottom: 12px; gap: 12px; }
.tp-studio.has-finished-hike .tp-guide { gap: 12px; }
.tp-studio.has-finished-hike .tp-cover { flex-direction: column; align-items: stretch; justify-content: flex-end; min-height: 280px; padding: 26px; border-radius: 24px; }
.tp-studio.has-finished-hike .tp-cover__copy { max-width: 860px; }
.tp-studio.has-finished-hike .tp-cover__copy h2 { margin: 12px 0; font-size: clamp(26px, 3vw, 38px); line-height: 1.12; }
.tp-studio.has-finished-hike .tp-cover__copy .tp-kicker { padding: 6px 10px; }
.tp-studio.has-finished-hike .tp-cover__art { width: min(25%, 240px); opacity: .65; }
.tp-studio.has-finished-hike .tp-cover__chips { gap: 6px; }
.tp-studio.has-finished-hike .tp-cover__chips span { padding: 6px 10px; font-size: 13px; }
.tp-studio.has-finished-hike .tp-cover__actions { margin-top: 16px; gap: 8px; }
.tp-studio.has-finished-hike .tp-cover__actions :is(.tp-cta, .tp-glass) { min-height: 44px; padding: 10px 14px; font-size: 13px; }
.tp-studio.has-finished-hike .tp-cover__credit { position: static; display: block; max-width: none; margin: 12px 0 0; color: rgba(255, 255, 255, .88); font-size: 12px; white-space: normal; }
.tp-studio.has-finished-hike .tp-cover__credit:empty { display: none; }

.tp-studio.has-finished-hike .tp-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; width: 100%; justify-self: stretch; padding: 5px; overflow: visible; }
.tp-studio.has-finished-hike .tp-tabs button { min-width: 0; min-height: 44px; justify-content: center; padding: 0 6px; gap: 6px; color: var(--tp-ink-2); }
.tp-studio.has-finished-hike .tp-tabs button.is-active { color: #fff; }
.tp-studio.has-finished-hike .tp-panel { scroll-margin-top: calc(var(--tp-sticky-top) + var(--tp-result-tabs-height) + 12px); }
.tp-studio.has-finished-hike [data-hike-map] { scroll-margin-top: calc(var(--tp-sticky-top) + var(--tp-result-tabs-height) + 72px); }
.tp-studio.has-finished-hike :is(.tp-day, .tp-program__place, .tp-place, [data-hike-schedule-place]) { scroll-margin-top: calc(var(--tp-sticky-top) + var(--tp-result-tabs-height) + var(--tp-daynav-height) + 24px); }
.tp-studio.has-finished-hike .tp-daynav { top: calc(var(--tp-sticky-top) + var(--tp-result-tabs-height) + 6px); min-height: 58px; margin-bottom: 12px; padding: 6px; border-radius: 16px; }
.tp-studio.has-finished-hike .tp-daynav__item { min-width: 90px; min-height: 44px; padding: 6px 11px; }
.tp-studio.has-finished-hike .tp-daynav__item b { font-size: 13px; }
.tp-studio.has-finished-hike .tp-daynav__item span { font-size: 12px; }
.tp-studio.has-finished-hike .tp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tp-studio.has-finished-hike .tp-stats .tp-stat:last-child { grid-column: auto; }
.tp-studio.has-finished-hike .tp-stats .tp-stat:only-child { grid-column: 1 / -1; }
.tp-studio.has-finished-hike .tp-day__body { padding: 20px; }
.tp-studio.has-finished-hike .tp-day__glance { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 12px; }
.tp-studio.has-finished-hike .tp-day__checks { margin: 0 0 14px; }
.tp-studio.has-finished-hike .tp-day__checks > summary { min-height: 44px; padding: 11px 14px; gap: 8px; }
.tp-studio.has-finished-hike .tp-day__checks > summary small { color: var(--tp-ink-2); line-height: 1.5; }
.tp-studio.has-finished-hike .tp-day-conditions-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 14px; color: var(--tp-ink-2); font-size: 13px; line-height: 1.5; }
.tp-studio.has-finished-hike .tp-day-conditions-summary > .tp-ico { flex: none; width: 16px; height: 16px; }
.tp-studio.has-finished-hike .tp-day-conditions-summary > span { display: inline-block; }

.tp-studio.has-finished-hike .tp-day-essentials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; margin: 0 0 16px; }
.tp-studio.has-finished-hike .tp-day-essential { min-width: 0; padding: 14px; border: 1px solid var(--tp-line); border-radius: 16px; background: var(--tp-card-2); }
.tp-studio.has-finished-hike .tp-day-essential.is-lunch { border-color: color-mix(in srgb, var(--tp-accent) 36%, var(--tp-line)); background: var(--tp-accent-soft); }
.tp-studio.has-finished-hike .tp-day-essential.is-night { background: color-mix(in srgb, var(--tp-moss) 72%, var(--tp-card)); }
.tp-studio.has-finished-hike .tp-day-essential :is(h5, h6) { margin: 0 0 8px; color: var(--tp-ink); font-size: 14px; line-height: 1.4; }
.tp-studio.has-finished-hike .tp-day-essential > b { display: block; color: var(--tp-ink); font-size: 15px; line-height: 1.4; }
.tp-studio.has-finished-hike .tp-day-essential :is(p, small) { margin: 6px 0 0; color: var(--tp-ink-2); font-size: 13px; line-height: 1.55; }
.tp-studio.has-finished-hike .tp-day-essential .tp-link, .tp-studio.has-finished-hike [data-hike-night-jump] { min-height: 44px; font-size: 13px; text-align: left; }
.tp-studio.has-finished-hike .tp-stay-details :is(.hike-day__alternatives, .tp-stay-description) { color: var(--tp-ink-2); font-size: 13px; line-height: 1.55; }
.tp-studio.has-finished-hike .tp-stay-details .hike-day__alternatives ul { display: grid; gap: 12px; margin: 10px 0; padding-left: 18px; }
.tp-studio.has-finished-hike .tp-stay-details .hike-day__alternatives li > b { display: block; overflow-wrap: anywhere; }
.tp-studio.has-finished-hike .tp-stay-details .hike-day__alternatives li > small { display: block; color: var(--tp-ink-2); font-size: 12px; line-height: 1.5; }
.tp-studio.has-finished-hike .tp-stay-details .hike-day__alternatives li > span { display: block; margin-top: 4px; color: var(--tp-accent-ink); font-size: 12px; }
.tp-studio.has-finished-hike :is(.hike-day__warning, .hike-day__approach-warning) { padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--tp-accent) 25%, var(--tp-line)); border-radius: 11px; background: var(--tp-accent-soft); color: var(--tp-ink-2); font-size: 13px; line-height: 1.55; }
.tp-studio.has-finished-hike .tp-day__stay .hike-day__warning { color: var(--tp-ink-2); font-size: 13px; line-height: 1.55; }

.tp-studio.has-finished-hike .tp-day-schedule { --tp-time-column: 64px; --tp-time-gap: 16px; margin: 0; padding: 16px; }
.tp-studio.has-finished-hike .tp-day-schedule > p { margin-bottom: 16px; color: var(--tp-ink-2); font-size: 13px; line-height: 1.55; }
.tp-studio.has-finished-hike .tp-schedule-assumptions { margin: -8px 0 12px; }
.tp-studio.has-finished-hike .tp-schedule-assumptions > summary { min-height: 44px; padding: 10px 0; color: var(--tp-ink-2); font-size: 12px; font-weight: 650; line-height: 1.5; cursor: pointer; }
.tp-studio.has-finished-hike .tp-schedule-assumptions > p { margin: 0 0 12px; color: var(--tp-ink-2); font-size: 12px; line-height: 1.55; }
.tp-studio.has-finished-hike .tp-day-schedule > ol > li { grid-template-columns: var(--tp-time-column) minmax(0, 1fr); gap: var(--tp-time-gap); padding-bottom: 20px; }
.tp-studio.has-finished-hike .tp-day-schedule > ol > li::before { left: calc(var(--tp-time-column) + var(--tp-time-gap) / 2); width: 2px; }
.tp-studio.has-finished-hike .tp-day-schedule__body { min-width: 0; padding-left: 10px; }
.tp-studio.has-finished-hike .tp-day-schedule__body::before { left: calc(var(--tp-time-gap) / -2 - 4px); width: 8px; height: 8px; }
.tp-studio.has-finished-hike .tp-day-schedule__body > b { font-size: 14px; line-height: 1.45; }
.tp-studio.has-finished-hike .tp-day-schedule__body > span, .tp-studio.has-finished-hike .tp-day-schedule__meta { color: var(--tp-ink-2); font-size: 12px; line-height: 1.5; }
.tp-studio.has-finished-hike .tp-day-schedule time small { font-size: 11px; line-height: 1.4; }
.tp-studio.has-finished-hike .tp-schedule-place { margin-top: 8px; }
.tp-studio.has-finished-hike .tp-schedule-place > summary { display: list-item; min-height: 44px; padding: 12px 0; color: var(--tp-forest); font-size: 13px; font-weight: 750; line-height: 1.5; cursor: pointer; }
.tp-studio.has-finished-hike .tp-schedule-place[open] > summary { padding-bottom: 8px; }
.tp-studio.has-finished-hike .tp-schedule-place .tp-program__selected { margin-top: 4px; }
.tp-studio.has-finished-hike .tp-schedule-place .tp-program__place { padding: 12px; background: var(--tp-card); }
.tp-studio.has-finished-hike .tp-program__copy p { color: var(--tp-ink-2); }
.tp-studio.has-finished-hike :is(.tp-description-source, .tp-program__mode, .tp-program__credit) { color: var(--tp-ink-2); font-size: 12px; line-height: 1.5; }
.tp-studio.has-finished-hike .tp-description-source > summary { min-height: 44px; padding: 11px 0; cursor: pointer; }
.tp-studio.has-finished-hike :is(.tp-program__picker > summary, .tp-program__remove, .tp-program__choose, .tp-place-map-button, .tp-map-return) { min-height: 44px; }
.tp-studio.has-finished-hike .tp-map-return { display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 12px; padding: 10px 14px; border: 1px solid var(--tp-line-2); border-radius: 12px; background: var(--tp-card); color: var(--tp-ink); font: inherit; font-size: 13px; font-weight: 750; line-height: 1.4; cursor: pointer; }
.tp-studio.has-finished-hike .tp-map-return[hidden] { display: none; }
.tp-studio.has-finished-hike .tp-plan-settings { border: 1px solid var(--tp-line); border-radius: 12px; background: var(--tp-card-2); }
.tp-studio.has-finished-hike .tp-plan-settings > summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-height: 44px; padding: 10px 12px; color: var(--tp-ink-2); font-size: 12px; line-height: 1.5; cursor: pointer; }
.tp-studio.has-finished-hike .tp-plan-settings > summary em { color: var(--tp-accent-ink); font-style: normal; font-weight: 750; }
.tp-studio.has-finished-hike .tp-plan-settings[open] > summary { border-bottom: 1px solid var(--tp-line); }
.tp-studio.has-finished-hike .tp-plan-settings .tp-plan-edit { padding: 12px; }

.tp-studio.has-finished-hike .tp-day-terrain { gap: 12px; margin-top: 16px; }
.tp-studio.has-finished-hike .tp-day-terrain > section { min-width: 0; padding: 14px; }
.tp-studio.has-finished-hike .tp-day-elevation__plot svg { max-height: none; }
.tp-studio.has-finished-hike .tp-day-elevation__plot svg text { fill: var(--tp-ink-2); font-size: 13px; font-weight: 600; }
.tp-studio.has-finished-hike .tp-day-elevation__plot svg line { stroke: var(--tp-line-2); }
.tp-studio.has-finished-hike .tp-day-surfaces__legend { gap: 10px 14px; }
.tp-studio.has-finished-hike .tp-day-surfaces__legend li { grid-template-columns: 11px minmax(0, 1fr) auto; gap: 7px; color: var(--tp-ink-2); font-size: 12.5px; line-height: 1.5; }
.tp-studio.has-finished-hike .tp-day-surfaces__swatch { width: 11px; height: 11px; }
.tp-studio.has-finished-hike :is(.tp-day-elevation__note, .tp-day-terrain__credit, .tp-day-surfaces > p, .tp-day-time > p, .tp-day-time dt, .tp-day-elevation__extremes dt) { color: var(--tp-ink-2); font-size: 12px; line-height: 1.55; }
.tp-studio.has-finished-hike :is(.tp-day-schedule h5, .tp-day-terrain h5, .tp-day-time h5) { margin-bottom: 10px; font-size: 14px; line-height: 1.4; }
.tp-studio.has-finished-hike:not(#tp-x) :is(.tp-day-essential h5, .tp-day-essential h6, .tp-day-schedule h5, .tp-day-terrain h5, .tp-day-time h5) { letter-spacing: 0 !important; text-transform: none; }

.tp-studio.has-finished-hike .tp-place-description { min-width: 0; }
.tp-studio.has-finished-hike .tp-place-description > summary { min-height: 44px; padding: 10px 0; color: var(--tp-forest); font-size: 13px; font-weight: 750; line-height: 1.55; cursor: pointer; }
.tp-studio.has-finished-hike .tp-place-description p { display: block; overflow: visible; max-height: none; color: var(--tp-ink-2); -webkit-line-clamp: unset; font-size: 13.5px; line-height: 1.65; }
.tp-studio.has-finished-hike .tp-place .hike-place-card__credit { color: var(--tp-ink-2); font-size: 12px; line-height: 1.5; white-space: normal; }
.tp-studio.has-finished-hike .tp-place :is(.hike-photo-badge, .hike-place-card__photo--empty > span) { max-width: calc(100% - 20px); font-size: 12px; line-height: 1.4; background: rgba(8, 20, 15, .88); }
.tp-studio.has-finished-hike :is(button, summary, a, select):focus-visible { outline: 3px solid var(--tp-accent); outline-offset: 3px; }
.tp-studio.has-finished-hike .tp-plus-access { display: block; margin: 20px 0 0; padding: 0 16px; border-radius: 16px; }
.tp-studio.has-finished-hike .tp-plus-access__toggle { min-height: 44px; padding: 12px 0; color: var(--tp-ink); font-size: 13px; font-weight: 750; line-height: 1.5; cursor: pointer; }
.tp-studio.has-finished-hike .tp-plus-access__details { padding: 2px 0 16px; }

@media (max-width: 767px) {
  .ai-guide.tp-studio.has-finished-hike { --tp-result-tabs-height: 56px; --tp-daynav-height: 66px; padding-top: 12px; }
  .tp-studio.has-finished-hike .tp-studio-head { margin-bottom: 10px; }
  .tp-studio.has-finished-hike .tp-guide { gap: 10px; }
  .tp-studio.has-finished-hike .tp-cover { min-height: 0; padding: 18px; border-radius: 20px; }
  .tp-studio.has-finished-hike .tp-cover__copy h2 { font-size: clamp(24px, 6.8vw, 30px); }
  .tp-studio.has-finished-hike .tp-cover__chips span { padding: 6px 8px; font-size: 12px; }
  .tp-studio.has-finished-hike .tp-cover__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tp-studio.has-finished-hike .tp-cover__actions .tp-cta { grid-column: auto; }
  .tp-studio.has-finished-hike .tp-cover__actions :is(.tp-cta, .tp-glass) { min-width: 0; padding: 10px 8px; gap: 6px; font-size: 12px; line-height: 1.45; white-space: normal; text-align: center; }
  .tp-studio.has-finished-hike .tp-cover__actions button > span { min-width: 0; overflow-wrap: anywhere; }
  .tp-studio.has-finished-hike .tp-tabs { border-radius: 16px; }
  .tp-studio.has-finished-hike .tp-tabs button { padding: 0 2px; gap: 0; font-size: 12px; white-space: nowrap; }
  .tp-studio.has-finished-hike .tp-tabs button .tp-ico { display: none; }
  .tp-studio.has-finished-hike .tp-daynav { gap: 6px; }
  .tp-studio.has-finished-hike .tp-daynav__item { min-width: 84px; padding: 6px 9px; }
  .tp-studio.has-finished-hike .tp-day { gap: 0; }
  .tp-studio.has-finished-hike .tp-day__body { padding: 64px 14px 16px; border-radius: 18px; }
  .tp-studio.has-finished-hike .tp-day__body header { margin-bottom: 12px; }
  .tp-studio.has-finished-hike .tp-day__glance { gap: 8px; }
  .tp-studio.has-finished-hike .tp-day__glance li { padding: 10px 8px; }
  .tp-studio.has-finished-hike .tp-day__glance b { font-size: 14px; }
  .tp-studio.has-finished-hike .tp-day__glance :is(span, small) { font-size: 11px; }
  .tp-studio.has-finished-hike .tp-day__checks > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 10px 12px; }
  .tp-studio.has-finished-hike .tp-day__checks > summary small { grid-column: 1; }
  .tp-studio.has-finished-hike .tp-day__checks > summary::after { grid-column: 2; grid-row: 1 / span 2; }
  .tp-studio.has-finished-hike .tp-day__checks-body { padding: 0 12px 12px; }
  .tp-studio.has-finished-hike .tp-day-schedule { --tp-time-column: 48px; --tp-time-gap: 12px; padding: 12px; }
  .tp-studio.has-finished-hike .tp-day-schedule time { font-size: 13px; }
  .tp-studio.has-finished-hike .tp-day-schedule__body { padding-left: 8px; }
  .tp-studio.has-finished-hike .tp-day-schedule .tp-place-map-button { max-width: 100%; padding: 9px; white-space: normal; text-align: center; }
  .tp-studio.has-finished-hike .tp-schedule-place .tp-program__place-main { display: block; }
  .tp-studio.has-finished-hike .tp-schedule-place .tp-program__place-main::after { content: ''; display: block; clear: both; }
  .tp-studio.has-finished-hike .tp-schedule-place .tp-program__photo { float: right; width: 48px; height: 62px; margin: 0 0 8px 10px; }
  .tp-studio.has-finished-hike .tp-schedule-place .tp-program__category { display: block; overflow-wrap: anywhere; }
  .tp-studio.has-finished-hike .tp-schedule-place .tp-program__category .tp-ico { margin-right: 5px; vertical-align: middle; }
  .tp-studio.has-finished-hike .tp-schedule-place .tp-program__copy h6 { font-size: 14px; }
  .tp-studio.has-finished-hike .tp-schedule-place .tp-program__copy > p { clear: both; }
  .tp-studio.has-finished-hike .tp-schedule-place .tp-program__actions { grid-template-columns: minmax(0, 1fr); }
  .tp-studio.has-finished-hike .tp-program__picker > summary { white-space: normal; }
  .tp-studio.has-finished-hike .tp-schedule-place .tp-program__picker[open] ~ .tp-program__remove { grid-column: 1; grid-row: 1; }
  .tp-studio.has-finished-hike .tp-program__remove { justify-self: start; }
  .tp-studio.has-finished-hike .tp-day-terrain { grid-template-columns: minmax(0, 1fr); }
  .tp-studio.has-finished-hike .tp-day-surfaces__legend { grid-template-columns: minmax(0, 1fr); }
  .tp-studio.has-finished-hike .tp-place .hike-place-card__body { padding: 14px; }
}
@media (max-width: 580px) {
  .tp-studio.has-finished-hike .tp-day-essentials { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .tp-studio.has-finished-hike .tp-day-elevation__plot svg text { font-size: 17px; }
}
@media (max-width: 380px) {
  .tp-studio.has-finished-hike .tp-day-elevation__plot svg text { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .tp-studio.has-finished-hike :is(.tp-cover__img, .tp-tabs__thumb, .tp-panel, .tp-daycard, .tp-place) { animation: none; transition: none; }
  .tp-studio.has-finished-hike { scroll-behavior: auto; }
}

/* A single editable programme: photos and actions belong to the timed stop. */
.ai-guide.tp-studio.is-hike-mode { padding-top: 8px; }
.tp-studio.has-finished-hike .tp-day__body { padding: 16px; }
.tp-studio.has-finished-hike .tp-day__glance li { padding: 9px 12px; gap: 2px; }
.tp-studio.has-finished-hike .tp-day__glance .tp-ico { display: none; }
.tp-studio.has-finished-hike .tp-day__glance b { font-size: 15px; }
.tp-studio.has-finished-hike .tp-day-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.tp-studio.has-finished-hike .tp-day-shortcuts .tp-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 6px 10px; border-radius: 10px; font-size: 12px; background: var(--tp-moss); color: var(--tp-forest); }
.tp-studio.has-finished-hike .tp-day-shortcuts .is-lunch { background: var(--tp-accent-soft); color: var(--tp-accent-deep); }
.tp-studio.has-finished-hike .tp-stop-notice { margin: 8px 0 0; font-size: 12px; line-height: 1.45; color: var(--tp-ink-2); }
.tp-studio.has-finished-hike .tp-day__checks { margin: 10px 0 14px; }
.tp-studio.has-finished-hike .tp-day-schedule { --tp-time-column: 50px; --tp-time-gap: 14px; padding: 0; border: 0; background: transparent; }
.tp-studio.has-finished-hike .tp-day-schedule > p { margin: 4px 0 6px; font-size: 12px; }
.tp-studio.has-finished-hike .tp-schedule-assumptions { margin: 0 0 8px; }
.tp-studio.has-finished-hike .tp-schedule-assumptions > summary { min-height: 32px; padding: 4px 0; }
.tp-studio.has-finished-hike .tp-day-schedule > ol > li { padding-bottom: 12px; }
.tp-studio.has-finished-hike .tp-day-schedule time > small { display: block; margin-top: 3px; color: var(--tp-muted); font-size: 11px; line-height: 1.4; font-weight: 500; }
.tp-studio.has-finished-hike .tp-day-schedule__body { padding-left: 0; }
.tp-studio.has-finished-hike .tp-day-schedule .is-lunch .tp-day-schedule__body { padding: 0; border: 0; background: transparent; }
.tp-studio.has-finished-hike .tp-stop-card { margin: 0; padding: 12px; border-radius: 14px; background: var(--tp-card); }
.tp-studio.has-finished-hike .is-lunch .tp-stop-card { border-color: color-mix(in srgb, var(--tp-accent) 65%, var(--tp-line)); background: var(--tp-accent-soft); }
.tp-studio.has-finished-hike .tp-stop-card--night { background: var(--tp-moss); border-color: var(--tp-moss-2); }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__place-main { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 3px 12px; }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__photo { float: none; grid-row: 1 / span 5; width: 88px; height: 88px; margin: 0; }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__copy { display: contents; }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__copy > * { grid-column: 2; }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__copy h6 { margin: 0 0 5px; font-size: 15px; line-height: 1.35; }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__category { margin-bottom: 4px; font-size: 11px; }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__category .tp-ico { width: 14px; height: 14px; }
.tp-studio.has-finished-hike .tp-stop-card .tp-stop-description { margin: 0 0 6px; font-size: 13px; line-height: 1.5; color: var(--tp-ink-2); }
.tp-studio.has-finished-hike .tp-stop-description > summary { cursor: pointer; list-style: none; }
.tp-studio.has-finished-hike .tp-stop-description > summary::-webkit-details-marker { display: none; }
.tp-studio.has-finished-hike .tp-stop-description > summary b { display: inline-block; margin-left: 5px; color: var(--tp-forest); font-size: 12px; }
.tp-studio.has-finished-hike .tp-stop-description[open] > summary span { display: none; }
.tp-studio.has-finished-hike .tp-stop-description[open] > summary b { margin-left: 0; }
.tp-studio.has-finished-hike .tp-stop-description:not([open]) .tp-stop-description__less,
.tp-studio.has-finished-hike .tp-stop-description[open] .tp-stop-description__more { display: none; }
.tp-studio.has-finished-hike .tp-stop-description[open] > p { margin: 4px 0 0; font-size: 13px; line-height: 1.5; }
.tp-studio.has-finished-hike .tp-stop-facts { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 10px; }
.tp-studio.has-finished-hike .tp-stop-card :is(.tp-program__distance, .tp-day-schedule__meta, .tp-program__mode, .tp-program__credit) { margin-top: 3px; font-size: 11.5px; line-height: 1.45; }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__credit { overflow-wrap: anywhere; }
.tp-studio.has-finished-hike .tp-stop-card .tp-description-source { margin: 0; }
.tp-studio.has-finished-hike .tp-stop-card .tp-description-source > summary { padding: 0; font-size: 11.5px; }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; margin-top: 8px; padding-top: 8px; }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__actions :is(.tp-place-map-button, .tp-program__picker > summary, .tp-program__remove) { min-height: 44px; margin: 0; padding: 8px 10px; font-size: 12px; }
.tp-studio.has-finished-hike .tp-stop-card .tp-program__picker[open] { flex-basis: 100%; order: 3; }
.tp-studio.has-finished-hike .tp-stop-card .tp-stay-details { margin: 0; }
.tp-studio.has-finished-hike .tp-stop-card .tp-stay-details > summary { padding: 10px 6px; font-size: 12px; }
.tp-studio.has-finished-hike .tp-stop-card .tp-stay-details[open] { flex-basis: 100%; }
.tp-studio.has-finished-hike .tp-stop-card .tp-stay-safety { margin: 8px 0; font-size: 12px; }
.tp-studio.has-finished-hike .tp-schedule-endpoint .tp-day-schedule__body { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; }
.tp-studio.has-finished-hike .tp-schedule-endpoint .tp-day-schedule__body > span { margin: 0; }
.tp-studio.has-finished-hike .tp-schedule-endpoint .tp-place-map-button { margin: 0 0 0 auto; min-height: 36px; padding: 6px 9px; }
.tp-studio.has-finished-hike .tp-schedule-untimed > p { margin: 8px 0; color: var(--tp-muted); font-size: 12px; }
@media (max-width: 767px) {
  .ai-guide.tp-studio.is-hike-mode { padding-top: 8px; }
  .tp-studio.has-finished-hike .tp-day__rail { display: none; }
  .tp-studio.has-finished-hike .tp-day__body { padding: 12px; }
  .tp-studio.has-finished-hike .tp-day__glance li { padding: 8px; }
  .tp-studio.has-finished-hike .tp-day-schedule > ol > li { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .tp-studio.has-finished-hike .tp-day-schedule > ol > li::before { display: none; }
  .tp-studio.has-finished-hike .tp-day-schedule__body::before { display: none; }
  .tp-studio.has-finished-hike .tp-day-schedule time { display: flex; align-items: baseline; gap: 6px; padding: 0; }
  .tp-studio.has-finished-hike .tp-stop-card { padding: 10px; }
  .tp-studio.has-finished-hike .tp-stop-card .tp-program__place-main { grid-template-columns: 64px minmax(0, 1fr); gap: 3px 10px; }
  .tp-studio.has-finished-hike .tp-stop-card .tp-program__photo { grid-row: 1 / span 2; width: 64px; height: 64px; }
  .tp-studio.has-finished-hike .tp-stop-card .tp-program__category { align-self: end; }
  .tp-studio.has-finished-hike .tp-stop-card .tp-program__copy > :not(h6):not(.tp-program__category) { grid-column: 1 / -1; }
  .tp-studio.has-finished-hike .tp-stop-card .tp-stop-description { margin-top: 5px; }
  .tp-studio.has-finished-hike .tp-stop-card .tp-program__actions { gap: 5px; }
  .tp-studio.has-finished-hike .tp-stop-card .tp-program__actions :is(.tp-place-map-button, .tp-program__picker > summary, .tp-program__remove) { padding: 5px; gap: 2px; font-size: 11.5px; }
  .tp-studio.has-finished-hike .tp-stop-card .tp-program__actions :is(.tp-place-map-button, .tp-program__picker > summary, .tp-program__remove) > .tp-ico { width: 14px; height: 14px; }
  .tp-studio.has-finished-hike .tp-stop-card .tp-program__picker summary > span { display: none; }
}

/* ---- Места: cards that explain themselves ---- */
.tp-hike .tp-place, .tp-hike .tp-program__place {
  transition: transform .28s cubic-bezier(.22, 1, .36, 1), box-shadow .28s ease, border-color .28s ease;
}
.tp-hike .tp-place:hover, .tp-hike .tp-program__place:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--tp-forest) 40%, var(--tp-line));
  box-shadow: 0 16px 34px -20px rgba(19, 32, 26, .45);
}
.tp-hike .tp-place p, .tp-hike .tp-program__copy p { color: var(--tp-ink-2); line-height: 1.62; }
.tp-hike .tp-place .hike-place-card__meta span, .tp-hike .tp-program__distance { font-variant-numeric: tabular-nums; }
.tp-hike .tp-description-source { margin-top: 6px; }
.tp-hike .tp-description-source > summary { color: var(--tp-muted); font-size: 11.5px; cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
  .tp-hike .tp-place, .tp-hike .tp-program__place { transition: none; }
  .tp-hike .tp-place:hover, .tp-hike .tp-program__place:hover { transform: none; }
}
