/* motion: gaya aktif sesuai tanggung jawab modul. */
@media (prefers-reduced-motion: no-preference) {
.motion-ready [data-reveal] { transition: opacity .6s ease, transform .6s cubic-bezier(.2,.6,.2,1); }
.motion-ready [data-reveal].awaiting-reveal { opacity: 0; transform: translateY(18px); }
@keyframes arrive { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
[data-reveal] { opacity: 1 !important; transform: none !important; }
}
@media print {
[data-reveal] { opacity: 1 !important; transform: none !important; }
}

/* Animasi masuk khas situs; halaman langsung dapat digunakan. */
@media (prefers-reduced-motion: no-preference) {
  main { animation: studio-arrive 440ms cubic-bezier(.22,.61,.36,1) both; }
  .site-header::after { content: ''; position: absolute; inset: auto 0 -1px; height: 1px; background: var(--gold); transform-origin: left; pointer-events: none; animation: studio-line 700ms cubic-bezier(.22,.61,.36,1) both; }
  .motion-section { transition: opacity 420ms ease, transform 420ms cubic-bezier(.22,.61,.36,1); }
  .reveal-pending { opacity: 0; transform: translateY(14px); }
  .carousel-viewport { transition: height 240ms cubic-bezier(.22,.61,.36,1); }
  .image-zoom-overlay:not([hidden]), .awk-dialog[open] { animation: studio-dialog 200ms ease-out; }
  @keyframes studio-arrive { from { opacity: .72; transform: translateY(7px); } to { opacity: 1; transform: none; } }
  @keyframes studio-line { 0% { opacity: .6; transform: scaleX(0); } 65% { opacity: .6; transform: scaleX(1); } 100% { opacity: 0; transform: scaleX(1); } }
  @keyframes studio-dialog { from { opacity: .4; } to { opacity: 1; } }
}
.details-content { display: flow-root; }
summary .icon, .feedback-toggle::after { transition: transform 260ms cubic-bezier(.22,.61,.36,1); }
details.is-closing > summary .icon { transform: rotate(0); }
.button, .awk-button, .nav-toggle, .carousel-button, .image-zoom-close, .awk-dialog-close { transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.button:active, .awk-button:active, .carousel-button:active, .nav-toggle:active { transform: translateY(1px) scale(.98); }
.main-nav a, .nav-dropdown-toggle, .detail-jumps a, .catalog-tabs a { transition: color 180ms ease, background 180ms ease, transform 180ms ease; }
.main-nav a:active, .detail-jumps a:active, .catalog-tabs a:active { transform: translateY(1px); }
@media (hover: hover) {
  .button-secondary:hover, .awk-button-soft:hover { background: #f0eadf; }
  .detail-card-visual img { transition: transform 320ms cubic-bezier(.22,.61,.36,1); }
  [data-product-card]:hover .detail-card-visual img { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .motion-section, .reveal-pending { opacity: 1 !important; transform: none !important; }
}
@media print {
  main, .motion-section, .reveal-pending { animation: none !important; transform: none !important; opacity: 1 !important; }
  .site-header::after { display: none; }
}
