/* Short feedback, never a prerequisite for interacting or saving. */
:root{--motion-fast:140ms;--motion-enter:220ms;--motion-ease:cubic-bezier(.2,.75,.25,1)}
.primary,.secondary,.search-btn,.nav-link,.transport-trigger,.review-item,.map-tools button{
 transition:background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),color var(--motion-fast);
}
.drawer{transition:transform 280ms var(--motion-ease)}
.backdrop{transition:opacity 200ms ease,visibility 200ms}
.toast{transition:opacity 180ms ease,transform var(--motion-enter) var(--motion-ease)}
.route-marker b,.route-marker span{transition:background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),color var(--motion-fast)}
.transport-line{transition:opacity var(--motion-fast),stroke-width var(--motion-fast)}
.route-stop{transition:background-color var(--motion-fast),border-color var(--motion-fast)}
@keyframes gowio-surface-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes gowio-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){
 .map-popup:not(.hide),.gowio-dialog[open],.transport-options:not([hidden]){animation:gowio-surface-in var(--motion-enter) var(--motion-ease)}
 .gowio-dialog[open]::backdrop{animation:gowio-fade-in 180ms ease}
 #discoverView:not(.hide),#plannerView:not(.hide),#tripsView:not(.hide),#profileView:not(.hide){animation:gowio-fade-in 160ms ease}
 .plan-review[open]>.review-content{animation:gowio-surface-in 180ms var(--motion-ease)}
}
@media(hover:hover) and (pointer:fine){
 .trip-card{transition:box-shadow 180ms ease,transform 180ms var(--motion-ease)}
 .trip-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #173a2b18}
}
/* Final override also covers pre-existing transitions in other stylesheets. */
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .trip-card:hover{transform:none}
}
@media print{*,*::before,*::after{animation:none!important;transition:none!important}}
