/* ============================================================
   IC LINKS CO — Gift a Journey
   ============================================================ */

.gift-recipient-card {
  border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 1.25rem 1.5rem 1.5rem; margin-bottom: 1rem; background: var(--white);
}
.gift-recipient-row {
  display: flex; align-items: flex-end; gap: 1rem;
}
.gift-remove-btn {
  width: 40px; height: 40px; flex-shrink: 0; border-radius: var(--radius);
  border: 1.5px solid var(--border); background: var(--white); color: var(--charcoal-mid);
  font-size: 1.3rem; line-height: 1; display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: var(--trans);
}
.gift-remove-btn:hover { background: var(--rose); border-color: var(--rose); color: var(--white); }

.gift-delivery-toggle {
  display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem;
  margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--border);
}
.gift-delivery-option {
  display: flex; align-items: center; gap: 0.5rem;
  font-size: 0.9rem; color: var(--charcoal-mid); cursor: pointer;
}
.gift-delivery-option input { accent-color: var(--rose); cursor: pointer; }

/* Which package this recipient is being given (2026-09). Stacked rather than
   side-by-side like the delivery toggle -- each option carries a price and a
   line of explanation, so they need the width. */
.gift-tier-toggle {
  display: flex; flex-direction: column; gap: 0.75rem;
  margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--border);
}
.gift-tier-toggle .gift-delivery-option { align-items: flex-start; gap: 0.6rem; line-height: 1.5; }
.gift-tier-toggle .gift-delivery-option input { margin-top: 0.2rem; }
.gift-tier-toggle b { color: var(--charcoal); }
.gift-tier-toggle small { color: var(--charcoal-light); font-size: 0.82rem; }
.gift-recipient-email { margin: 0.85rem 0 0; }

.gift-summary-card { max-width: 420px; margin: 0 auto 1.5rem; }
.gift-summary-card .pricing-includes { text-align: left; }
#recipient-summaries { display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: center; margin-top: 2rem; }

.gift-running-total {
  display: flex; justify-content: space-between; align-items: baseline;
  max-width: 420px; margin: 1.5rem auto 0; padding-top: 1rem;
  border-top: 1px solid var(--border);
  font-family: var(--font-display); font-size: 1.25rem;
}

.gift-checkout-card {
  background: var(--white); border-radius: var(--radius-lg);
  padding: 2.5rem; box-shadow: var(--shadow-soft);
}
.gift-checkout-card h3 { margin-bottom: 0.35rem; }

.gift-address-row { display: flex; gap: 1rem; }
.gift-address-row .form-group { flex: 1; min-width: 0; }
.gift-address-row .form-group:last-child { flex: 0 0 110px; }
@media (max-width: 500px) {
  .gift-address-row { flex-wrap: wrap; }
  .gift-address-row .form-group { flex: 1 1 100%; }
}

.gift-next-steps {
  background: var(--rose-mist); border-radius: var(--radius);
  padding: 1.25rem 1.5rem; margin: 1.5rem 0 0;
}
.gift-next-steps h4 { margin-bottom: 0.5rem; font-size: 0.95rem; }
.gift-next-steps p { margin: 0; font-size: 0.9rem; }

@media (max-width: 640px) {
  .gift-recipient-row { align-items: center; }
}
