/* gift.css — only what the gift page needs beyond join.css and form.css.
   Every colour here is an existing site token or a literal already used
   elsewhere in styles/ (#1a1a1a nav/headings, #666 body grey, #f2c94f CTA). */

.gift-intro {
  max-width: 760px;
  margin: 0 auto 2.5rem;
  text-align: center;
}

.gift-intro p {
  color: #444;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

/* The chosen tier's card. join.css already lifts a card on hover and scales the
   recommended one, so selection reads as a border and a tint rather than a
   third transform that would fight both. */
.join-tier-block.gift-tier-selected {
  border-color: var(--color-accent-muted);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
}

.join-tier-block.gift-tier-selected .join-card-top {
  background: #1a1a1a;
}

/* A tier button is a <button>, not an <a> — see the header comment in gift.js.
   button.css styles .donate-button for anchors, so the element defaults a
   browser applies to buttons are cleared here. */
.join-tier-block .donate-button.card {
  font-family: inherit;
  font-size: 1rem;
  line-height: normal;
  width: auto;
}

.gift-form-body {
  scroll-margin-top: 1rem;
}

.gift-form-title {
  font-size: 1.35rem;
  margin: 0 0 0.25rem;
  color: #1a1a1a;
}

.gift-tier-price {
  display: block;
  font-family: "Nunito Sans", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #666;
  margin-top: 0.2rem;
}

/* The price above is the list price. A discount code — whether prefilled from
   a campaign link or typed on the payment page — is applied by Stripe, so the
   figure shown here is not always what gets charged. */
.gift-tier-discount-note {
  font-size: 0.85rem;
  color: #666;
  margin: 0.35rem 0 0;
}

.gift-form-change {
  margin: 0 0 1.75rem;
}

.gift-change-link {
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  font-size: 0.9rem;
  color: var(--color-accent-muted);
  text-decoration: underline;
  cursor: pointer;
}

.gift-change-link:hover {
  color: #1a1a1a;
}

/* form.css styles .form-input for text inputs and textareas but carries no
   select rule, so the native control is brought into line here. */
select.form-input {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  background-size: 12px 8px;
  padding-right: 2.5rem;
  cursor: pointer;
}

.gift-consent-note {
  font-size: 0.85rem;
  color: #666;
  line-height: 1.5;
  margin: 1.25rem 0;
}

.gift-noscript {
  font-size: 0.9rem;
  color: #7a1a1a;
  background: #fdf5f5;
  border: 1px solid #e8b8b8;
  border-radius: 6px;
  padding: 1rem 1.25rem;
}

/* ── Thank-you and decline pages ─────────────────────────────────────────── */

.gift-ty-icon {
  display: block;
  width: 64px;
  margin: 1.5rem auto;
}

.gift-ty-lead {
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: center;
  color: #444;
}

.gift-decline-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin: 2rem 0;
}

.gift-decline-keep {
  font-size: 0.9rem;
  color: #666;
}

@media (max-width: 600px) {
  .gift-intro {
    margin-bottom: 1.5rem;
    text-align: left;
  }

  .gift-form-title {
    font-size: 1.2rem;
  }
}
