/* A small persistent route back, and anchors to the person and their work. */
body.has-artist-dock { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
.artist-profile #artist-name, .artist-gallery #gallery-title { scroll-margin-top: 24px; }
.event-heading #event-title, #event-artists { scroll-margin-top: 24px; }
.artist-dock {
    position: fixed; z-index: 15; left: 50%; bottom: max(24px, env(safe-area-inset-bottom));
    display: grid; grid-template-columns: 1.5fr 1.1fr 1fr; align-items: center; gap: 4px;
    width: min(410px, calc(100% - 32px)); padding: 6px;
    color: var(--ink); background: rgba(243,237,223,.96); border: 1px solid #d1c5ae; border-radius: 18px;
    box-shadow: 0 8px 32px rgba(24,43,33,.14); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%,12px);
    transition: opacity 180ms var(--touch-ease), transform 220ms var(--touch-ease), visibility 180ms;
}
.artist-dock.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%,0); }
.artist-dock.return-only { grid-template-columns: minmax(0,1fr); width: auto; min-width: 156px; max-width: calc(100% - 24px); padding: 4px; border-radius: 16px; }
.artist-dock.return-only .artist-dock-link { padding: 10px 18px; }
.artist-dock-link {
    display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 0; min-height: 46px;
    padding: 9px 8px; border-radius: 12px; font: 13px / 1.2 var(--sans); text-align: center;
    transition: background-color 160ms var(--touch-ease), color 160ms var(--touch-ease), transform 120ms var(--touch-ease), opacity 160ms;
}
.artist-dock-back { color: var(--accent); }
.artist-dock-arrow { flex-shrink: 0; font: 19px / 1 var(--serif); }
.artist-dock-back > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.artist-dock-link[aria-current="location"] { color: var(--paper); background: var(--ink); }
.artist-dock-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.artist-dock-link.is-pressed { transform: scale(.97); }
body.media-open .artist-dock { opacity: 0; visibility: hidden; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
    .artist-dock-link:not([aria-current]):hover { background: #e7dfce; }
}
@media (max-width: 700px) {
    .artist-dock { bottom: max(12px, env(safe-area-inset-bottom)); width: min(410px, calc(100% - 24px)); border-radius: 16px; padding: 5px; }
    .artist-dock-link { min-height: 48px; padding: 9px 5px; font-size: 12px; }
}
@media (max-width: 350px) {
    .artist-dock-link { gap: 5px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
    .artist-dock, .artist-dock-link { transition: none; }
    .artist-dock { transform: translate(-50%,0); }
    .artist-dock-link.is-pressed { transform: none; }
}
