/* Prepare only after the observer exists; layout and hover transforms stay intact. */
[data-page="shop"] .scroll-pending { opacity:0; translate:0 22px; pointer-events:none; }
[data-page="shop"] .service-tile.scroll-pending { opacity:1; translate:0 12px; pointer-events:auto; }
[data-page="shop"] .service-tile[data-scroll-state] { --catalog-enter-offset:12px; scroll-margin-top:24px; }
[data-page="shop"] .service-tile[data-scroll-state="entering"].catalog-enter { animation-duration:420ms; }
[data-page="shop"] .catalog-result-meta { justify-content:space-between; align-items:center; gap:12px; margin:8px 0 16px; min-height:36px; }
[data-page="shop"] #catalogCount { color:#42566c; font-size:14px; font-weight:650; }
.catalog-more { display:flex; align-items:center; gap:7px; min-height:36px; padding:6px 11px; border:1px solid #d6e9ec; border-radius:9px; background:#edf7f8; color:var(--shop-accent-dark); font-size:13px; font-weight:650; transition:background 180ms ease,border-color 180ms ease; }
.catalog-more svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.catalog-more:hover { background:#e2f1f3; border-color:#b3d9df; }
[data-page="shop"] .scroll-enter { animation:shop-scroll-enter 560ms cubic-bezier(.16,1,.3,1) var(--scroll-enter-delay,0ms) both; }
@keyframes shop-scroll-enter { from { opacity:0; translate:0 18px; } to { opacity:1; translate:0 0; } }
@media(prefers-reduced-motion:reduce) {
 [data-page="shop"] .scroll-pending,[data-page="shop"] .scroll-enter { opacity:1; translate:none; pointer-events:auto; animation:none; }
}
