/**
 * SANTAN — supplementary animations & interaction polish.
 * (Core layout/design lives in style.css)
 */

/* Subtle hero background zoom on load */
@keyframes heroZoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.hero__bg img { animation: heroZoom 8s var(--ease) forwards; }

/* Gold shimmer on primary buttons */
.btn--primary { position: relative; overflow: hidden; }
.btn--primary::before {
	content: ""; position: absolute; top: 0; left: -75%; width: 50%; height: 100%;
	background: linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
	transform: skewX(-20deg); transition: none;
}
.btn--primary:hover::before { animation: shimmer .9s var(--ease); }
@keyframes shimmer { to { left: 125%; } }

/* Category strip icon subtle pulse on hover already handled; add focus ring */
.cat-strip__item:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }

/* Product placeholder icon centering */
.product-card__ph { display: flex; align-items: center; justify-content: center; }
.product-card__ph svg { width: 100%; height: auto; }

/* Nav spacer keeps layout stable when header goes fixed */
.nav-spacer { display: block; }

/* Smooth image loading */
img { transition: opacity .4s ease; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	.hero__bg img { animation: none; }
	.reveal { opacity: 1 !important; transform: none !important; }
}

/* Selection colour */
::selection { background: var(--gold); color: var(--on-gold); }

/* Print */
@media print {
	.topbar, .navbar, .site-footer, .floating-social, .back-to-top, .cta-band, .promo-bar { display: none !important; }
}
