.companion-day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:1.2rem 0 .8rem}
.journey-timing{font-size:.875rem;color:var(--museum-muted);margin-top:.65rem}
.journey-route{min-width:0;padding:.75rem;border:1px solid var(--museum-border);border-radius:.4rem;background:var(--museum-bg)}
.journey-route ol{padding-left:1.2rem;margin:.65rem 0;display:grid;gap:.6rem;font-size:.875rem;line-height:1.4;color:var(--museum-muted)}
.journey-route [aria-current=step]{color:var(--museum-gold);font-weight:600}
.journey-route a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--museum-gold);text-decoration:underline;text-underline-offset:4px}
.travel-panel .stop-details img{object-fit:contain;background:var(--color-background)}
.companion-day-heading h4{font:400 1.65rem/1.2 var(--font-family-heading);margin:0}
.companion-day-heading>span{font-size:.875rem;color:var(--museum-muted)}
.companion-itinerary{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding:.2rem .2rem .65rem;scroll-snap-type:x proximity}
.companion-itinerary button{flex:1;min-width:125px;scroll-snap-align:start;text-align:left;background:var(--museum-bg);border:1px solid var(--museum-border);border-radius:.5rem;padding:.75rem;color:var(--museum-ink);line-height:1.35}
.companion-itinerary small{display:block;color:var(--museum-gold);font-size:.875rem;margin-bottom:.45rem}
.companion-itinerary span{display:block;font-size:.9375rem}
.companion-itinerary button[aria-pressed=true]{background:var(--museum-gold);color:var(--museum-bg);border-color:var(--museum-gold)}
.companion-itinerary button[aria-pressed=true] small{color:var(--museum-bg)}
.travel-panel .moment-card{padding:1.1rem}
.travel-panel .moment-card h4{font-size:1.65rem}
.stop-details{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}
.stop-details figure{margin:0;min-width:0}
.stop-details img,.stop-map svg{display:block;width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:.4rem}
.stop-map svg{background:var(--color-background-alt)}
.stop-details figcaption{font-size:.75rem;line-height:1.4;margin-top:.4rem;color:var(--museum-muted)}
.canal-route{stroke:#6196a6;stroke-width:32;fill:none}
.walking-route{stroke:var(--color-accent);stroke-width:3;stroke-dasharray:5 5;fill:none}
.stop-map circle{fill:var(--color-primary);stroke:var(--color-background);stroke-width:2}
.stop-map text{fill:var(--color-text-inverse);font:600 12px var(--font-family-body);text-anchor:middle}
.stop-map .selected-stop circle{fill:var(--color-accent);stroke-width:4}
.companion-note-label{display:block;font-size:.875rem;margin-top:1rem;margin-bottom:.4rem;color:var(--museum-muted)}
#companion-note{width:100%;resize:vertical;min-height:78px;background:var(--museum-surface);color:var(--museum-ink);border:1px solid var(--museum-border);border-radius:.4rem;font:1rem/1.5 var(--font-family-body);padding:.7rem}
#companion-note:focus-visible{outline:3px solid var(--museum-gold);outline-offset:3px}
#memory-feedback{font-size:.875rem;margin-top:.6rem;color:var(--museum-gold)}
.travel-panel .moment-actions{gap:.5rem;flex-wrap:wrap}
.travel-panel .moment-actions button{min-height:44px;padding:.55rem .8rem;border:1px solid var(--museum-border);border-radius:2rem;font-size:.875rem;background:var(--museum-surface);color:var(--museum-ink)}
.travel-panel #save-moment{border-color:var(--museum-gold)}
.extra-hour{margin-top:1rem;padding:.8rem 1rem;border:1px solid var(--museum-border);border-radius:.5rem;background:var(--museum-bg)}
.extra-hour summary{min-height:44px;padding:.5rem 0;font-size:1rem;cursor:pointer;color:var(--museum-gold)}
.extra-hour h4{font:400 1.5rem var(--font-family-heading);margin:.5rem 0}
.extra-hour>p:not(.eyebrow){font-size:.875rem;line-height:1.6;color:var(--museum-muted)}
.extra-hour button{min-height:44px;border:1px solid var(--museum-gold);border-radius:2rem;background:var(--museum-gold);color:var(--museum-bg);font-size:.875rem;padding:.5rem .9rem;margin:1rem 0 .5rem}
.reflected-memory{margin:1.5rem 0;padding:1rem;border:1px solid var(--museum-gold);border-radius:.65rem;background:var(--museum-bg)}
.reflected-memory[hidden]{display:none}
.memory-format{display:flex;gap:.5rem;margin:.8rem 0}
.memory-format button{min-height:44px;flex:1;border:1px solid var(--museum-border);border-radius:2rem;background:transparent;font-size:.875rem;padding:.4rem .75rem}
.memory-format button[aria-pressed=true]{background:var(--museum-gold);color:var(--museum-bg)}
.memory-preview{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:var(--color-background);color:var(--color-primary);padding:1rem;box-shadow:0 5px 0 var(--color-border)}
.memory-preview img{height:100%;min-height:190px;width:100%;object-fit:cover}
.memory-preview>div{align-self:center;min-width:0}
.memory-preview span{font-size:.75rem;color:var(--color-accent)}
.memory-preview h4{font:400 1.5rem/1.2 var(--font-family-heading);margin:.65rem 0}
.memory-preview p{font:1rem/1.65 var(--font-family-heading);overflow-wrap:anywhere}
.memory-preview[data-format=web]{grid-template-columns:1fr;padding:0;gap:0;border-radius:.5rem;overflow:hidden;box-shadow:none}
.memory-preview[data-format=web] img{height:200px;min-height:0}
.memory-preview[data-format=web]>div{padding:1.2rem}
@media(max-width:600px){.companion-itinerary button{min-width:115px}.stop-details{gap:.5rem}.memory-preview{grid-template-columns:1fr}.memory-preview img{height:180px;min-height:0}.memory-format{flex-wrap:wrap}.reflected-memory{padding:.75rem}}
