/* The Address - ordering site motion. Progressive: everything is visible without JS. */
html { scroll-behavior: smooth; }

/* scroll progress bar */
#am-progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; z-index: 99999; background: linear-gradient(90deg, #d9321c, #ff8a3d); transform-origin: 0 50%; transform: scaleX(0); transition: transform .08s linear; pointer-events: none; }

/* reveal on scroll */
.am-js .am-reveal { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--am-delay, 0ms); will-change: opacity, transform; }
.am-js .am-reveal.am-left  { transform: translate3d(-36px, 0, 0); }
.am-js .am-reveal.am-right { transform: translate3d(36px, 0, 0); }
.am-js .am-reveal.am-zoom  { transform: scale(.92); }
.am-js .am-reveal.am-in { opacity: 1; transform: none; }

/* hero */
.st-home-banner-right img { animation: am-float 6s ease-in-out infinite; will-change: transform; }
@keyframes am-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.st-home-banner-content .btn-continue { transition: transform .2s ease, box-shadow .2s ease; }
.st-home-banner-content .btn-continue:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(217,50,28,.35); }
.location-group { transition: box-shadow .25s ease, transform .25s ease; }
.location-group:focus-within { box-shadow: 0 8px 26px rgba(0,0,0,.12); transform: translateY(-1px); }

/* cards / boxes */
.st-service-box, .list-card, .osahan-slider-item, .restaurant-card, .product-box, .offer-card, .category-item { transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease; }
.st-service-box:hover, .list-card:hover, .osahan-slider-item:hover, .restaurant-card:hover, .product-box:hover, .offer-card:hover { transform: translateY(-6px); box-shadow: 0 14px 30px rgba(0,0,0,.18); }
.st-service-box img { transition: transform .4s ease; }
.st-service-box:hover img { transform: scale(1.08) rotate(-2deg); }
.list-card img, .osahan-slider-item img { transition: transform .5s ease; }
.list-card:hover img, .osahan-slider-item:hover img { transform: scale(1.05); }

/* buttons + links */
.btn { transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease; }
.btn:active { transform: scale(.97); }
.hov_footer a, .footer-social .btn { transition: transform .2s ease, opacity .2s ease, color .2s ease; }
.footer-social .btn:hover { transform: translateY(-3px); }
.hov_footer a:hover { transform: translateX(4px); display: inline-block; }

/* header on scroll */
header, .section-header, .header-main { transition: box-shadow .25s ease, background-color .25s ease, padding .25s ease; }
body.am-scrolled header, body.am-scrolled .section-header { box-shadow: 0 6px 20px rgba(0,0,0,.10); }
#logo_web img, #logo_web .logo_web { transition: height .25s ease; }
body.am-scrolled #logo_web img, body.am-scrolled #logo_web .logo_web { height: 44px; }

/* back to top */
#am-top { position: fixed; right: 22px; bottom: 22px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #d9321c; color: #fff; font-size: 20px; line-height: 44px; text-align: center; cursor: pointer; z-index: 9998; box-shadow: 0 8px 20px rgba(217,50,28,.4); opacity: 0; transform: translateY(14px) scale(.9); pointer-events: none; transition: opacity .3s ease, transform .3s ease; }
#am-top.am-show { opacity: 1; transform: none; pointer-events: auto; }
#am-top:hover { transform: translateY(-3px); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .am-js .am-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .st-home-banner-right img { animation: none; }
  * { transition-duration: .01ms !important; }
}
