/* ── Two-column layout ─────────────────────────────────────────── */

.follower-layout {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  margin: 1rem 0 2rem;
}

/* Left column — intro copy */
.follower-intro {
  flex: 1 1 0;
  min-width: 0;
}

/* Right column — form panel */
.follower-form-panel {
  flex: 1 1 0;
  min-width: 0;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.09);
  padding: 1.75rem;
}

/* Stack on mobile */
@media (max-width: 767px) {
  .follower-layout {
    flex-direction: column;
  }
  .follower-form-panel {
    flex: 1 1 auto;
    width: 100%;
  }
}

/* ── Intro copy ────────────────────────────────────────────────── */

.follower-intro ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.follower-intro ul li {
  padding: 0.3rem 0;
  color: #2d6a4f;
  font-weight: 500;
}

.follower-antispam-note {
  border-left: 4px solid #2d6a4f;
  padding: 0.5rem 1rem;
  font-style: italic;
  font-size: 0.95em;
  color: #555;
  margin-top: 1rem;
}

.follower-already {
  max-width: 600px;
  margin: 2rem auto;
  padding: 1.5rem;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  text-align: center;
}

/* ── Form fields ───────────────────────────────────────────────── */

.follower-form-panel .form-item {
  margin-bottom: 1rem;
}

.follower-form-panel input[type="text"],
.follower-form-panel input[type="email"] {
  width: 100%;
  box-sizing: border-box;
}

/* Card field sizing — matches commerce_stripe/form widths */
#yit-follower-checkout #card-number-element {
  width: 12em;
}

#yit-follower-checkout #expiration-element {
  width: 5em;
}

#yit-follower-checkout #security-code-element {
  width: 4em;
}

#payment-errors {
  color: #a51b00;
  margin-bottom: 0.5rem;
}

/* ── Pay button ────────────────────────────────────────────────── */

#follower-pay-btn {
  display: block;
  width: 100%;
  padding: 0.8rem;
  margin-top: 1.25rem;
  background: #2d6a4f;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}

#follower-pay-btn:hover:not(:disabled) {
  background: #1b4332;
}

#follower-pay-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* Secure badge below button */
.follower-form-panel .form-actions::after {
  content: 'Payments secured by Stripe';
  display: block;
  text-align: center;
  font-size: 0.78rem;
  color: #718096;
  margin-top: 0.6rem;
}
