/*
 * LPVI — Insurance Carousel
 * Mirrors reviews carousel pattern exactly.
 */

.insurance-section {
  background: var(--color-bg-white);
  border-top: 0.5px solid var(--color-border);
  border-bottom: 0.5px solid var(--color-border);
  padding-block: var(--space-16);
  overflow: hidden;
}

.insurance-section__header {
  text-align: center;
  margin-bottom: var(--space-10);
}

.insurance-section__heading {
  font-family: var(--font-heading);
  font-size: var(--text-section);
  font-weight: var(--weight-bold);
  color: var(--color-text-primary);
  letter-spacing: -0.03em;
  line-height: var(--leading-snug);
  margin-bottom: var(--space-4);
}

/* ── Carousel — mirrors reviews-track-wrap ── */

.insurance-track-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
}

.insurance-track {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  width: max-content;
  animation: insurance-scroll 35s linear infinite;
}

.insurance-track:hover {
  animation-play-state: paused;
}

.insurance-track.is-paused {
  animation-play-state: paused;
}

@keyframes insurance-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── Logo card ── */

.insurance-logo {
  width: 200px;
  height: 100px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-white);
  border: 0.5px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  transition:
    border-color var(--duration-base) var(--ease-out),
    box-shadow   var(--duration-base) var(--ease-out);
}

.insurance-logo:hover {
  border-color: rgba(107,191,154,0.45);
  box-shadow: var(--shadow-sm);
}

.insurance-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  /* Greyscale at rest — colour on hover */
  filter: grayscale(100%) opacity(0.65);
  transition: filter 0.4s var(--ease-out);
}

.insurance-logo:hover img {
  filter: grayscale(0%) opacity(1);
}

/* ── Footer links ── */

.insurance-section__footer {
  text-align: center;
  margin-top: var(--space-8);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.insurance-section__footer a {
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  color: var(--color-action-text);
  text-decoration: none;
  transition: color var(--duration-fast) var(--ease-out);
}
.insurance-section__footer a:hover { color: var(--color-action-hover); }

.insurance-section__footer-sep {
  color: var(--color-border-strong);
  font-size: var(--text-xs);
}

@media (prefers-reduced-motion: reduce) {
  .insurance-track { animation: none; }
}
