/* Skeleton loading */
.sq-skeleton {
  background: linear-gradient(90deg, #e7e9eb 25%, #f4f5f6 50%, #e7e9eb 75%);
  background-size: 200% 100%;
  animation: sqShimmer 1.4s ease-in-out infinite;
  border-radius: 4px;
}
@keyframes sqShimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Print stylesheet */
@media print {
  #sq-quick-bar, #sq-whatsapp, #sq-stick-cta, #sq-modal-bg, #sq-cookie, #sq-newsletter-pop,
  .seq header, .seq footer, .sq-header-cta, .sq-lang { display: none !important; }
  body, .seq { background: #fff !important; color: #000 !important; }
  .placeholder-img, video, .sq-pcard-img { display: none !important; }
  .seq h1, .seq h2, .seq h3 { page-break-after: avoid; color: #000 !important; }
  .seq p, .seq div { color: #1a1f26 !important; }
  a { color: #062E13 !important; text-decoration: underline; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.85em; color: #5a626a; }
  .sq-prod-detail-img { display: none !important; }
  table { border-collapse: collapse !important; }
  table, th, td { border: 1px solid #aaa !important; }
}

/* A11y: visible focus for keyboard users */
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #1FA84A;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Page transition */
html { transition: opacity 400ms ease-out; }

/* Stat tiles — one hover treatment wherever SeqStats is used */
.seq .seq-stat { transition: border-color 200ms, box-shadow 200ms, transform 200ms; }
.seq .seq-stat:hover {
  border-color: #1FA84A;
  box-shadow: 0 10px 28px rgba(6,46,19,0.09);
  transform: translateY(-2px);
}
.seq .seq-stat svg { transition: transform 320ms cubic-bezier(.16,1,.3,1); }
.seq .seq-stat:hover svg { transform: translateY(-2px) scale(1.04); }
@media (prefers-reduced-motion: reduce) {
  .seq .seq-stat, .seq .seq-stat:hover,
  .seq .seq-stat svg, .seq .seq-stat:hover svg { transform: none; transition: none; }
}

/* Line clamps keep cards in a grid row the same height */
.seq .seq-clamp-2, .seq .seq-clamp-3 {
  display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;
}
.seq .seq-clamp-2 { -webkit-line-clamp: 2; }
.seq .seq-clamp-3 { -webkit-line-clamp: 3; }

/* Build credit in the footer */
.seq .seq-credit {
  color: #B6E9C5; font-weight: 600; text-decoration: none;
  border-bottom: 1px solid rgba(182,233,197,0.35);
  transition: color 160ms, border-color 160ms;
}
.seq .seq-credit:hover { color: #fff; border-bottom-color: #fff; }
