/* SwapThing lightweight motion layer: slide in/out with modest bounce. */
@media (prefers-reduced-motion: no-preference){
  :root{
    --st-motion-fast: .22s;
    --st-motion-med: .44s;
    --st-bounce: cubic-bezier(.18,.9,.22,1.12);
    --st-slide: cubic-bezier(.16,.84,.24,1);
  }

  @keyframes st-slide-in-up-bounce{
    0%{opacity:0;transform:translate3d(0,22px,0) scale(.985);}
    72%{opacity:1;transform:translate3d(0,-5px,0) scale(1.006);}
    100%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  }
  @keyframes st-slide-in-left-bounce{
    0%{opacity:0;transform:translate3d(-28px,0,0) scale(.985);}
    72%{opacity:1;transform:translate3d(5px,0,0) scale(1.006);}
    100%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  }
  @keyframes st-slide-in-right-bounce{
    0%{opacity:0;transform:translate3d(28px,0,0) scale(.985);}
    72%{opacity:1;transform:translate3d(-5px,0,0) scale(1.006);}
    100%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  }
  @keyframes st-pop-slide-bounce{
    0%{opacity:0;transform:translate3d(0,10px,0) scale(.92);}
    68%{opacity:1;transform:translate3d(0,-3px,0) scale(1.04);}
    100%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  }

  body main.site-main .browse-header-row,
  body main.site-main .profile-hero,
  body main.site-main .dashboard-hero,
  body main.site-main .readiness-hero,
  body main.site-main .product-page > .back-link{
    animation:st-slide-in-left-bounce .48s var(--st-bounce) both;
  }

  body main.site-main .compact-card,
  body main.site-main article.compact-card,
  body main.site-main .detail-panel,
  body main.site-main .ops-card,
  body main.site-main .dashboard-tab-panel,
  body main.site-main .public-profile-card,
  body main.site-main .public-listing-summary,
  body main.site-main .member-listing-card,
  body main.site-main .wishlist-listing-card{
    animation:st-slide-in-up-bounce .46s var(--st-bounce) both;
    transition:transform var(--st-motion-fast) var(--st-slide), box-shadow var(--st-motion-fast) ease, border-color var(--st-motion-fast) ease, filter var(--st-motion-fast) ease!important;
  }

  body main.site-main .compact-card:nth-of-type(2n),
  body main.site-main .dashboard-tab-panel:nth-of-type(2n),
  body main.site-main .member-listing-card:nth-child(2n),
  body main.site-main .wishlist-listing-card:nth-child(2n){animation-name:st-slide-in-right-bounce;}
  body main.site-main .compact-card:nth-of-type(2n+1),
  body main.site-main .dashboard-tab-panel:nth-of-type(2n+1),
  body main.site-main .member-listing-card:nth-child(2n+1),
  body main.site-main .wishlist-listing-card:nth-child(2n+1){animation-name:st-slide-in-left-bounce;}

  body main.site-main #listing-grid .listing-card{
    animation:st-slide-in-up-bounce .48s var(--st-bounce) both;
    transition:transform .2s var(--st-bounce), box-shadow .2s ease, border-color .2s ease, filter .2s ease!important;
  }
  body main.site-main #listing-grid .listing-card:nth-child(3n+1){animation-name:st-slide-in-left-bounce;}
  body main.site-main #listing-grid .listing-card:nth-child(3n+2){animation-name:st-slide-in-up-bounce;}
  body main.site-main #listing-grid .listing-card:nth-child(3n){animation-name:st-slide-in-right-bounce;}
  body main.site-main #listing-grid .listing-card:nth-child(1){animation-delay:.02s;}
  body main.site-main #listing-grid .listing-card:nth-child(2){animation-delay:.055s;}
  body main.site-main #listing-grid .listing-card:nth-child(3){animation-delay:.09s;}
  body main.site-main #listing-grid .listing-card:nth-child(4){animation-delay:.125s;}
  body main.site-main #listing-grid .listing-card:nth-child(5){animation-delay:.16s;}
  body main.site-main #listing-grid .listing-card:nth-child(n+6){animation-delay:.19s;}

  body main.site-main #listing-grid .listing-card:hover,
  body main.site-main .compact-card:hover,
  body main.site-main .public-listing-summary:hover,
  body main.site-main .member-listing-card:hover{
    transform:translate3d(0,-3px,0) scale(1.006);
  }

  .site-header .nav{
    display:flex!important;
    opacity:0;
    pointer-events:none;
    transform:translate3d(18px,-10px,0) scale(.97);
    transition:opacity .18s ease, transform .24s var(--st-bounce), visibility .18s ease!important;
    visibility:hidden;
  }
  .site-header .nav.is-open{
    opacity:1;
    pointer-events:auto;
    transform:translate3d(0,0,0) scale(1);
    visibility:visible;
    animation:st-slide-in-right-bounce .28s var(--st-bounce) both;
  }
  .site-header .nav .nav-link,
  .site-header .nav .nav-cta{
    transition:transform .16s var(--st-bounce), background-color .16s ease, color .16s ease!important;
  }
  .site-header .nav .nav-link:hover,
  .site-header .nav .nav-cta:hover{
    transform:translate3d(5px,0,0);
  }

  .browse-search-card{
    transition:max-height .36s var(--st-slide), opacity .22s ease, transform .3s var(--st-bounce), margin .32s ease, padding .32s ease, border-width .32s ease!important;
  }
  .browse-search-card.is-open,
  .browse-search-collapsed[open]{
    animation:st-slide-in-up-bounce .32s var(--st-bounce) both;
  }

  .browse-hero-add-listing,
  .browse-view-button,
  .browse-search-toggle,
  .primary-btn,
  .secondary-btn,
  .button,
  .small-btn,
  .copy-link-btn,
  .carrier-logo-button,
  .social-btn,
  .share-icon-btn{
    transition:transform .16s var(--st-bounce), box-shadow .16s ease, filter .16s ease, background-color .16s ease, border-color .16s ease!important;
  }
  .primary-btn:hover,
  .secondary-btn:hover,
  .button:hover,
  .small-btn:hover,
  .copy-link-btn:hover,
  .carrier-logo-button:hover,
  .social-btn:hover,
  .share-icon-btn:hover,
  .browse-view-button:hover,
  .browse-search-toggle:hover{
    transform:translate3d(0,-2px,0) scale(1.015);
  }
  .browse-hero-add-listing:hover{
    transform:translateX(-50%) translateY(-2px) scale(1.015)!important;
  }

  .image-type-pill,
  .image-rating-pill,
  .image-location-pill,
  .slideshow-type-pill,
  .type-pill,
  .loc,
  .dashboard-tab-badge,
  .profile-chip,
  .quick-facts > *,
  .stat-card{
    animation:st-pop-slide-bounce .34s var(--st-bounce) both;
  }

  .dashboard-tab-strip a,
  .toggle-switch,
  details.dashboard-settings-group > summary{
    transition:transform .16s var(--st-bounce), background-color .16s ease, border-color .16s ease, box-shadow .16s ease!important;
  }
  .dashboard-tab-strip a:hover,
  details.dashboard-settings-group > summary:hover{
    transform:translate3d(0,-2px,0);
  }
  .toggle-input:checked + .toggle-switch i,
  .toggle-switch i{
    transition:transform .2s var(--st-bounce), box-shadow .16s ease!important;
  }

  .game-toast{
    transition:opacity .22s ease, transform .3s var(--st-bounce)!important;
  }
  .game-toast.is-visible{
    animation:st-slide-in-left-bounce .34s var(--st-bounce) both;
  }

  .listing-slide.is-active{
    animation:st-slide-in-right-bounce .34s var(--st-bounce) both;
  }
  .slide-nav:hover{
    transform:translateY(-50%) scale(1.08)!important;
  }
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }
}

/* 2026-07-02 motion authority overrides. */
@media (prefers-reduced-motion: no-preference){
  body main.site-main .container.browse-page #listing-grid .listing-card,
  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-card,
  body main.site-main .container.browse-page #listing-grid.listing-layout-list .listing-card{
    animation-duration:.5s!important;
    animation-timing-function:var(--st-bounce)!important;
    animation-fill-mode:both!important;
  }
  body main.site-main .container.browse-page #listing-grid .listing-card:nth-child(3n+1),
  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-card:nth-child(3n+1),
  body main.site-main .container.browse-page #listing-grid.listing-layout-list .listing-card:nth-child(3n+1){animation-name:st-slide-in-left-bounce!important;}
  body main.site-main .container.browse-page #listing-grid .listing-card:nth-child(3n+2),
  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-card:nth-child(3n+2),
  body main.site-main .container.browse-page #listing-grid.listing-layout-list .listing-card:nth-child(3n+2){animation-name:st-slide-in-up-bounce!important;}
  body main.site-main .container.browse-page #listing-grid .listing-card:nth-child(3n),
  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-card:nth-child(3n),
  body main.site-main .container.browse-page #listing-grid.listing-layout-list .listing-card:nth-child(3n){animation-name:st-slide-in-right-bounce!important;}
  body main.site-main .browse-header-row{animation:st-slide-in-left-bounce .5s var(--st-bounce) both!important;}
  body main.site-main .browse-view-toggle,
  body main.site-main .browse-search-toggle,
  body main.site-main .browse-hero-add-listing{animation:st-pop-slide-bounce .34s var(--st-bounce) both!important;}
}

/* 2026-07-02 location/state pill motion parity. */
@media (prefers-reduced-motion: no-preference){
  body main.site-main .container.browse-page #listing-grid .listing-card .image-location-pill,
  body main.site-main .container.browse-page #listing-grid .listing-card .loc.image-location-pill{
    animation:st-pop-slide-bounce .34s var(--st-bounce) both!important;
    transition:transform .16s var(--st-bounce), box-shadow .16s ease, filter .16s ease, background-color .16s ease, border-color .16s ease!important;
  }
  body main.site-main .container.browse-page #listing-grid .listing-card .image-location-pill:hover,
  body main.site-main .container.browse-page #listing-grid .listing-card .loc.image-location-pill:hover{
    transform:translateX(-50%)!important;
    filter:brightness(1.08)!important;
  }
}

/* 2026-07-02 Browse listing cards: no entry bounce. */
@media (prefers-reduced-motion: no-preference){
  body main.site-main .container.browse-page #listing-grid .listing-card,
  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-card,
  body main.site-main .container.browse-page #listing-grid.listing-layout-list .listing-card,
  body main.site-main .container.browse-page #listing-grid .listing-card:nth-child(3n+1),
  body main.site-main .container.browse-page #listing-grid .listing-card:nth-child(3n+2),
  body main.site-main .container.browse-page #listing-grid .listing-card:nth-child(3n),
  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-card:nth-child(3n+1),
  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-card:nth-child(3n+2),
  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-card:nth-child(3n),
  body main.site-main .container.browse-page #listing-grid.listing-layout-list .listing-card:nth-child(3n+1),
  body main.site-main .container.browse-page #listing-grid.listing-layout-list .listing-card:nth-child(3n+2),
  body main.site-main .container.browse-page #listing-grid.listing-layout-list .listing-card:nth-child(3n){
    animation-name:none!important;
    animation-duration:0s!important;
    animation-delay:0s!important;
    animation-fill-mode:none!important;
  }
  body main.site-main .container.browse-page #listing-grid .listing-card:hover{
    transform:none!important;
  }
}

/* 2026-07-02 Browse card hover focused scale restored. */
@media (prefers-reduced-motion: no-preference){
  body main.site-main .container.browse-page #listing-grid .listing-card:hover,
  body main.site-main .container.browse-page #listing-grid.listing-layout-cards .listing-card:hover,
  body main.site-main .container.browse-page #listing-grid.listing-layout-list .listing-card:hover{
    animation-name:none!important;
    animation-duration:0s!important;
    transform:translate3d(0,-3px,0) scale(1.006)!important;
    box-shadow:var(--shadow-strong)!important;
  }
}
