/* Certifications — full-width, auto-scrolling strip of "seal" tiles.
   Shared by Home and About via frontend/partials/certifications.blade.php.
   Uses the site's own CSS variables so it follows Admin > Site Settings >
   Colors. Tiles use the same cut-corner shape as the home hero cards. */

.certifications-carousel-section {
  padding: 70px 0;
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent-color), transparent 96%) 0%, var(--background-color) 100%);
  position: relative;
  overflow: hidden;
}

/* ---------- Header ---------- */
.certifications-header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 50px;
}

.certifications-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: color-mix(in srgb, var(--accent-color), transparent 92%);
  border-radius: 999px;
  color: var(--accent-color);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}

.certifications-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--accent-color);
  animation: certifications-dot-pulse 2s ease-in-out infinite;
}

.certifications-title {
  font-size: calc(2.2rem * var(--type-display-scale, 1));
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--heading-color);
  margin-bottom: 16px;
}

.certifications-title .accent-highlight {
  color: var(--accent-color);
}

.certifications-subtitle {
  font-size: 0.95rem;
  line-height: 1.6;
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  margin: 0 auto;
}

/* ---------- Seal strip ---------- */
.certifications-strip {
  position: relative;
  overflow: hidden;
  padding: 12px 0 18px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.certifications-strip-track {
  display: flex;
  gap: 24px;
  width: max-content;
  animation: certifications-strip-scroll var(--certifications-strip-duration, 40s) linear infinite;
}

.certifications-strip:hover .certifications-strip-track,
.certifications-strip:focus-within .certifications-strip-track {
  animation-play-state: paused;
}

.certification-seal {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 210px;
  padding: 26px 20px 20px;
  background: var(--surface-color);
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
  border-radius: 35px 8px 35px 8px;
  color: var(--heading-color);
  text-decoration: none;
  transition: transform 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
  overflow: hidden;
}

a.certification-seal:hover,
.certification-seal:hover {
  color: var(--heading-color);
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--accent-color), transparent 50%);
  background: color-mix(in srgb, var(--accent-color), var(--surface-color) 94%);
}

.certification-seal-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent-color), transparent 94%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-color), transparent 80%);
}

.certification-seal-logo img {
  max-width: 64px;
  max-height: 64px;
  object-fit: contain;
}

.certification-seal-logo i {
  font-size: 40px;
  color: var(--accent-color);
}

.certification-seal-name {
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

@keyframes certifications-strip-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes certifications-dot-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.6; }
}

@media (prefers-reduced-motion: reduce) {
  .certifications-eyebrow-dot {
    animation: none;
  }

  /* No auto-scroll: let visitors swipe/scroll the strip themselves. */
  .certifications-strip {
    overflow-x: auto;
  }

  .certifications-strip-track {
    animation: none;
  }
}

/* ---------- Responsive ---------- */
@media (max-width: 600px) {
  .certifications-title {
    font-size: 1.6rem;
  }

  .certifications-strip-track {
    gap: 16px;
  }

  .certification-seal {
    width: 160px;
    padding: 20px 14px 16px;
  }

  .certification-seal-logo {
    width: 76px;
    height: 76px;
  }

  .certification-seal-logo img {
    max-width: 50px;
    max-height: 50px;
  }
}
