/* AOS 進退場幅度，保留汽車零件商城的閱讀與操作穩定性。 */
#main {
  overflow-x: clip;
}
html.aos-enabled [data-aos='fade-up']:not(.aos-animate) { transform: translate3d(0, 24px, 0); }
html.aos-enabled [data-aos='fade-down']:not(.aos-animate) { transform: translate3d(0, -18px, 0); }
html.aos-enabled [data-aos='fade-left']:not(.aos-animate) { transform: translate3d(30px, 0, 0); }
html.aos-enabled [data-aos='fade-right']:not(.aos-animate) { transform: translate3d(-30px, 0, 0); }
html.aos-enabled [data-aos='zoom-in']:not(.aos-animate) { transform: scale(.96); }
html.aos-enabled [data-aos].aos-exit {
  opacity: 0 !important;
  transform: translate3d(0, -12px, 0) !important;
  transition-delay: 0ms !important;
}
html.aos-enabled [data-aos='zoom-in'].aos-exit { transform: scale(.98) !important; }
html:not(.aos-enabled) [data-aos][data-aos][data-aos],
html.motion-reduced [data-aos][data-aos][data-aos],
html [data-aos][data-aos][data-aos]:focus-within {
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  transition: none !important;
}
@media (max-width: 575.98px) {
  html.aos-enabled [data-aos] { transition-duration: 450ms !important; }
  html.aos-enabled [data-aos='fade-left']:not(.aos-animate) { transform: translate3d(18px, 0, 0); }
  html.aos-enabled [data-aos='fade-right']:not(.aos-animate) { transform: translate3d(-18px, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  html [data-aos][data-aos][data-aos] {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    transition: none !important;
  }
}


/* 共用頁面過場：Header 保持穩定，內容與商品圖片各自銜接。 */
:root { view-transition-name: none; }
#main { view-transition-name: page-content; }
.header { view-transition-name: none; }
.page-transition-line {
  position: fixed;
  left: 0;
  width: 34vw;
  height: 2px;
  background: var(--brand);
  z-index: 100;
  pointer-events: none;
}
.page-transition-line[hidden] { display: none; }
html.page-transitioning { overflow-x: clip; }
html.page-transitioning [data-aos][data-aos][data-aos] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
html.page-transitioning[data-page-direction='product'] .purchase-panel > .brand-label { view-transition-name: product-brand; }
html.page-transitioning[data-page-direction='product'] .purchase-panel > h1 { view-transition-name: product-title; }
html.page-transitioning[data-page-direction='product'] .purchase-panel > .pdp-price { view-transition-name: product-price; }
::view-transition { pointer-events: none; }
::view-transition-group(page-content) { animation-duration: 300ms; animation-timing-function: cubic-bezier(.2,.65,.3,1); z-index: 1; }
::view-transition-old(page-content) { animation: page-leave 120ms ease-in both; mix-blend-mode: normal; }
::view-transition-new(page-content) { animation: page-enter 300ms cubic-bezier(.2,.65,.3,1) both; mix-blend-mode: normal; }
html[data-page-direction='back']::view-transition-old(page-content) { animation-name: page-leave-back; }
html[data-page-direction='back']::view-transition-new(page-content) { animation-name: page-enter-back; }
html[data-page-direction='product']::view-transition-new(page-content) { animation-duration: 350ms; }
::view-transition-group(product-photo) { animation-duration: 350ms; animation-timing-function: cubic-bezier(.2,.65,.3,1); z-index: 3; }
::view-transition-old(product-photo), ::view-transition-new(product-photo) { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: normal; }
::view-transition-new(product-photo):only-child { animation: product-photo-enter 350ms ease-out both; }
::view-transition-group(product-brand), ::view-transition-group(product-title), ::view-transition-group(product-price) { animation-duration: 350ms; z-index: 2; }
::view-transition-new(product-brand), ::view-transition-new(product-title), ::view-transition-new(product-price) { animation: page-text-enter 250ms ease-out both; }
::view-transition-new(product-brand) { animation-delay: 40ms; }
::view-transition-new(product-title) { animation-delay: 85ms; }
::view-transition-new(product-price) { animation-delay: 130ms; }
@keyframes page-leave { to { opacity: 0; transform: translateY(-12px); } }
@keyframes page-enter { from { opacity: .15; transform: translateY(16px); } }
@keyframes page-leave-back { to { opacity: 0; transform: translateX(12px); } }
@keyframes page-enter-back { from { opacity: .15; transform: translateX(-16px); } }
@keyframes page-text-enter { from { opacity: 0; transform: translateY(8px); } }
@keyframes product-photo-enter { from { opacity: .3; transform: scale(.96); } }
@media (prefers-reduced-motion: reduce) {
  .page-transition-line { display: none !important; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}

/* 紅線也參與原生快照，確保在過場圖層上可見。 */
.page-transition-line { view-transition-name: navigation-line; }
::view-transition-group(navigation-line) { animation: none; z-index: 10; }
::view-transition-old(navigation-line) { display: none; }
::view-transition-new(navigation-line) { animation: page-line 350ms ease-out both; }
@keyframes page-line {
  0% { opacity: 0; transform: translateX(-110%); }
  65% { opacity: 1; transform: translateX(80vw); }
  100% { opacity: 0; transform: translateX(115vw); }
}

/* 過場快照不攔截點擊，Header 可在動畫中繼續導覽。 */
::view-transition-group(*), ::view-transition-image-pair(*),
::view-transition-old(*), ::view-transition-new(*) { pointer-events: none; }
