/* Review 7 / v0.5: all LINE CTAs use the approved S1 CTA specification. */
.line-cta.line-cta--s1-spec {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: calc(100vw - 2rem);
  min-height: 0;
  gap: .5rem;
  padding: .48rem 1rem .5rem;
  border-radius: 40px;
  background: #00b900;
  box-shadow: none;
  transition: box-shadow .3s, transform .3s;
}

.s12 .line-cta.line-cta--s1-spec {
  justify-self: start;
}

.line-cta--s1-spec .line-cta__s1-icon {
  position: static;
  flex: 0 0 34px;
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  padding: 0;
  background: transparent;
  object-fit: contain;
  transform: none;
}

.line-cta--s1-spec .line-cta__s1-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  overflow: visible;
  text-align: left;
}

.line-cta--s1-spec .line-cta__s1-kicker {
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: .02em;
  opacity: .9;
  white-space: nowrap;
}

.line-cta--s1-spec .line-cta__s1-benefits {
  display: block;
  font-size: clamp(.875rem, 1.04vw, .94rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.015em;
  opacity: 1;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .line-cta.line-cta--s1-spec:hover {
    filter: none;
    transform: translateY(-2px);
    background: #00b900;
    box-shadow: 0 0 8px rgba(0, 255, 0, .45),
                0 0 18px rgba(0, 220, 0, .3),
                0 0 32px rgba(0, 185, 0, .18),
                0 0 48px rgba(0, 150, 0, .1);
  }
}

.line-cta.line-cta--s1-spec:active {
  transform: translateY(1px) scale(.992);
}

.floating-cta .line-cta.line-cta--s1-spec {
  width: 100%;
  min-height: 0;
}

@media (max-width: 900px) {
  .line-cta.line-cta--s1-spec {
    width: auto;
    max-width: calc(100vw - 2rem);
    min-height: 0;
    gap: .5rem;
    padding: .44rem .875rem;
  }

  .floating-cta {
    left: auto;
    right: max(1rem, env(safe-area-inset-right));
    width: auto;
    margin-left: 0;
    margin-right: 0;
    bottom: max(.75rem, env(safe-area-inset-bottom));
  }

  .line-cta--s1-spec .line-cta__s1-icon {
    flex-basis: 32px;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    padding: 0;
  }

  .line-cta--s1-spec .line-cta__s1-kicker {
    font-size: .75rem;
  }

  .line-cta--s1-spec .line-cta__s1-benefits {
    font-size: .875rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .line-cta.line-cta--s1-spec {
    animation: none !important;
    transform: none !important;
  }
}
