/* Gentle feedback without delaying navigation or hiding content. */
.btn,.navbtn,.tile,.place-preview,.gallery-thumb,.award-home,.route-save,summary{transition:transform 140ms ease,background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
button:not(:disabled):active,a.btn:active{transform:scale(.975)}
@media(hover:hover){.place-preview:hover,.gallery-thumb:hover,.award-home:hover{border-color:var(--brand);box-shadow:0 6px 20px #183e5015}.btn:hover{border-color:var(--brand)}}
.view.active{animation:polish-view-in 220ms ease-out}details[open]>:not(summary){animation:polish-content-in 180ms ease-out}.visual-dialog[open]{animation:polish-content-in 180ms ease-out}.visual-stage img{animation:polish-content-in 160ms ease-out}
@keyframes polish-view-in{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes polish-content-in{from{opacity:.45}to{opacity:1}}
.place-preview img,.gallery-thumb img,.place-photo,.restaurant-gallery img,.award-image img,.stay-photo{background:var(--tint)}
.polish-image-pending{background:linear-gradient(100deg,var(--tint),var(--card),var(--tint))!important;background-size:220% 100%!important;animation:polish-loading 1.8s ease-in-out infinite}
@keyframes polish-loading{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.gallery-guide{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;color:var(--muted);font-size:12px}.gallery-guide p{margin:0}.gallery-guide-buttons{display:flex;gap:8px;flex-shrink:0}.gallery-guide .btn{padding:6px;min-width:44px;min-height:44px;border-radius:50%}.gallery-guide button:disabled{opacity:.3;cursor:default}.gallery-position{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.gallery-guide-hint{margin-left:8px}.gallery-progress{display:flex;justify-content:center;gap:6px;padding:12px 0 2px;flex-wrap:wrap}.gallery-progress span{width:6px;height:6px;border-radius:50%;background:var(--line);transition:background-color 150ms,width 150ms}.gallery-progress span.current{width:20px;border-radius:8px;background:var(--brand)}
.interaction-toast{position:fixed;z-index:10020;bottom:calc(106px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(8px);width:max-content;max-width:calc(100vw - 40px);padding:12px 20px;border-radius:14px;background:var(--ink);color:var(--bg);box-shadow:0 8px 30px #0002;font-size:14px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 160ms ease,transform 160ms ease,visibility 160ms}.interaction-toast.visible{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media(max-width:440px){.gallery-guide-hint{display:block;margin:2px 0 0}}
@media(prefers-reduced-motion:reduce){.view.active,details[open]>:not(summary),.visual-dialog[open],.visual-stage img,.polish-image-pending{animation:none!important}.btn,.navbtn,.tile,.place-preview,.gallery-thumb,.award-home,.route-save,summary,.gallery-progress span,.interaction-toast{transition:none!important}button:not(:disabled):active,a.btn:active{transform:none}.stay-gallery{scroll-behavior:auto}}
