/* =========================================================
   Westman Printing — Custom Styles
   Reset, design tokens, typography, base elements
   ========================================================= */

/* ===== CTA arrow slide (bottom-left → top-right) ===== */
.hero-cta .hero-cta-arrow {
  transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.hero-cta:hover .hero-cta-arrow,
.hero-cta:focus-visible .hero-cta-arrow {
  transform: translate(63.7%, -63.8%);
}

/* ===== Rolling-text hover (used by footer Quick Links) =====
   Stack two identical text spans inside a clipping wrapper.
   On hover the original slides up and the duplicate (sitting just
   below the visible area) slides into place. */
.nav-roll {
  display: inline-block;
  position: relative;
  overflow: hidden;
  vertical-align: bottom;
  line-height: 1.4;
}

.nav-roll > span {
  display: block;
  transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.nav-roll > span:nth-child(2) {
  position: absolute;
  inset: 0;
  transform: translateY(100%);
  color: #00669e;
}

.nav-roll-link:hover .nav-roll > span:nth-child(1),
.nav-roll-link:focus-visible .nav-roll > span:nth-child(1) {
  transform: translateY(-100%);
}

.nav-roll-link:hover .nav-roll > span:nth-child(2),
.nav-roll-link:focus-visible .nav-roll > span:nth-child(2) {
  transform: translateY(0);
}

/* ===== Hide scrollbar (used by mobile swiper rows) ===== */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* ===== Metallic shimmer for "You might like" heading ===== */
@keyframes shimmer-slide {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.shimmer-text {
  background: linear-gradient(
    105deg,
    #666666 0%,
    #666666 35%,
    #9ca3af 45%,
    #c0c7d0 50%,
    #9ca3af 55%,
    #666666 65%,
    #666666 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer-slide 4s ease-in-out infinite;
}
