/* 僅供案例與法規頁使用；不過渡寬高、字級或版面位置。 */
.page-motion a[href],
.page-motion button:not(:disabled),
.page-motion .law-search {
  transition: color 160ms ease-out, background-color 160ms ease-out,
    border-color 160ms ease-out, box-shadow 160ms ease-out,
    opacity 160ms ease-out;
}

.page-motion nav[aria-label="麵包屑"] a img {
  transition: opacity 160ms ease-out;
}

@media (hover: hover) {
  .page-motion .case-tab:hover,
  .page-motion .region-tab:hover,
  .page-motion :is(#case-list, #case-list-overseas) button:hover { opacity: 0.85; }
  .page-motion #backToTop:hover {
    box-shadow: 0 6px 16px rgb(16 49 81 / 20%);
  }
}

@keyframes page-content-enter {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes page-panel-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes page-menu-enter {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* hidden 移除後自動重新觸發；隱藏時保持原本的版面行為。 */
.page-motion .case-panel > [role="tabpanel"]:not([hidden]) {
  animation: page-panel-enter 180ms ease-out;
}
.page-motion [data-case-panel]:not([hidden]),
.page-motion .law-panel {
  animation: page-content-enter 200ms ease-out;
}
.page-motion #mobileMenu:not(.hidden) {
  animation: page-menu-enter 180ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .page-motion a[href],
  .page-motion button:not(:disabled),
  .page-motion .law-search,
  .page-motion nav[aria-label="麵包屑"] a img {
    transition: none;
  }
  .page-motion .case-panel > [role="tabpanel"]:not([hidden]),
  .page-motion [data-case-panel]:not([hidden]),
  .page-motion .law-panel,
  .page-motion #mobileMenu:not(.hidden) {
    animation: none;
  }
}
