/* Motion values observed on Claude.com; original farm layout and colours retained. */
:root { --farm-ease: cubic-bezier(.25, 1, .5, 1); }
.scroll-progress { width: 100%; transform: scaleX(0); transform-origin: left; }
.motion-enabled .motion-item {
  transition: opacity .8s var(--farm-ease) var(--motion-delay, 0ms), transform .8s var(--farm-ease) var(--motion-delay, 0ms);
}
.motion-enabled .motion-pending { opacity: 0; transform: translateY(20px); }
.motion-enabled .motion-shown { opacity: 1; transform: none; }
.motion-enabled .motion-heading { opacity: 1; transform: none; }
.motion-word { display: inline-block; }
.motion-enabled .motion-word {
  transition: opacity 1s var(--farm-ease) var(--word-delay, 0ms);
}
.motion-enabled .motion-pending .motion-word { opacity: 0; }
.motion-enabled .motion-shown .motion-word { opacity: 1; }
.motion-enabled .motion-immediate, .motion-enabled .motion-immediate .motion-word { transition: none; }
.produce-photo { overflow: hidden; }
.produce-photo img { transition: transform .8s var(--farm-ease); }
.motion-enabled .produce-card.motion-pending .produce-photo img { transform: scale(1.045); }
.motion-enabled .produce-card.motion-shown .produce-photo img { transform: scale(1); }
.hero-guava-image { transform-origin: center; }
.catalog-filters button { transition: background-color .3s var(--farm-ease), color .3s var(--farm-ease), box-shadow .3s var(--farm-ease); }
.produce-order-button, .basket-add-button, .header-enquiry {
  transition: background-color .25s var(--farm-ease), box-shadow .25s var(--farm-ease), transform .25s var(--farm-ease);
}
.daily-stock-status[aria-busy="true"] .stock-date::before {
  content: ''; display: inline-block; width: .75em; height: .75em; margin-right: .65em;
  border: 2px solid #bacfac; border-top-color: #336b25; border-radius: 50%; vertical-align: -.05em;
}
@media (prefers-reduced-motion: no-preference) {
  .motion-enabled .site-header { animation: farm-header-in 1s var(--farm-ease) both; }
  .motion-enabled .hero-guava-image { animation: farm-photo-in 1.2s var(--farm-ease) both; }
  .basket-toast:not([hidden]) { animation: farm-toast-in .4s var(--farm-ease) both; }
  .daily-stock-status[aria-busy="true"] .stock-date::before { animation: farm-stock-spin 1s linear infinite; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .motion-enabled .produce-card.motion-shown:hover { transform: translateY(-3px); transition-delay: 0ms; }
  .motion-enabled .produce-card.motion-shown:hover .produce-photo img { transform: scale(1.035); }
  .produce-order-button:not(:disabled):hover, .basket-add-button:not(:disabled):hover, .header-enquiry:hover { transform: translateY(-2px); box-shadow: 0 5px 14px #1542121f; }
  .produce-order-button:not(:disabled):active, .basket-add-button:not(:disabled):active, .header-enquiry:active { transform: translateY(0); }
}
@keyframes farm-header-in { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@keyframes farm-photo-in { from { transform: scale(1.045); } to { transform: scale(1); } }
@keyframes farm-toast-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes farm-stock-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .motion-item, .motion-word, .motion-enabled .motion-item, .motion-enabled .motion-word { opacity: 1 !important; transform: none !important; transition: none !important; }
  .hero-guava-image, .produce-photo img { transform: none !important; }
}
@media print {
  .motion-item, .motion-word, .motion-enabled .motion-item, .motion-enabled .motion-word { opacity: 1 !important; transform: none !important; }
}
