.appt-wrap { max-width: 520px; margin: 0 auto; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
.appt-page { padding: 40px 16px; }
.appt-page__inner { max-width: 560px; margin: 0 auto; }

.appt-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; overflow: hidden; box-shadow: 0 10px 30px rgba(15,23,42,.08); }
.appt-card__image img { width: 100%; height: 180px; object-fit: cover; display: block; }
.appt-card__body { padding: 24px; }
.appt-card__title { margin: 0 0 8px; font-size: 1.5rem; color: #0f172a; }
.appt-card__desc { margin: 0 0 16px; color: #64748b; line-height: 1.5; font-size: 14px; }

.appt-goal { margin-bottom: 16px; }
.appt-goal__bar { height: 8px; background: #e2e8f0; border-radius: 999px; overflow: hidden; }
.appt-goal__bar span { display: block; height: 100%; background: var(--appt-primary, #2563eb); border-radius: 999px; }
.appt-goal__meta { display: flex; justify-content: space-between; margin-top: 6px; font-size: 12px; color: #64748b; }

.appt-amounts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.appt-amount { border: 1px solid #cbd5e1; background: #f8fafc; color: #334155; padding: 8px 12px; border-radius: 999px; cursor: pointer; font-size: 13px; }
.appt-amount.is-active { background: var(--appt-primary, #2563eb); border-color: var(--appt-primary, #2563eb); color: #fff; }

.appt-field { display: block; margin-bottom: 12px; }
.appt-field span { display: block; font-size: 12px; color: #64748b; margin-bottom: 4px; }
.appt-field input, .appt-field textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 10px; font: inherit; }
.appt-field input:focus, .appt-field textarea:focus { outline: 2px solid color-mix(in srgb, var(--appt-primary, #2563eb) 30%, white); border-color: var(--appt-primary, #2563eb); }

.appt-btn { width: 100%; border: 0; background: var(--appt-primary, #2563eb); color: #fff; padding: 12px 16px; border-radius: 12px; font-weight: 600; cursor: pointer; font-size: 15px; }
.appt-btn:hover { filter: brightness(.95); }
.appt-btn:disabled { opacity: .6; cursor: not-allowed; }

.appt-secure { text-align: center; font-size: 12px; color: #94a3b8; margin: 10px 0 0; }
.appt-iframe-wrap { margin-top: 8px; min-height: 420px; }
.appt-iframe-wrap iframe { width: 100%; min-height: 420px; border: 0; }

.appt-error { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: #fef2f2; color: #b91c1c; font-size: 13px; }
.appt-error[hidden] { display: none !important; }

.appt-donate-btn { display: inline-block; background: #2563eb; color: #fff !important; padding: 10px 18px; border-radius: 999px; text-decoration: none; font-weight: 600; }
.appt-donate-btn:hover { filter: brightness(.95); }

.appt-home-cta__inner { text-align: center; max-width: 720px; margin: 0 auto; }
.appt-home-cta__shell { position: relative; overflow: hidden; border-radius: 20px; }
.appt-home-cta__banner { height: 220px; background-size: cover; background-position: center; }
.appt-home-cta__content { padding: 32px 24px; }
.appt-home-cta__body { max-width: 640px; }
.appt-home-cta--split .appt-home-cta__content { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; }
.appt-home-cta__media img { width: 100%; border-radius: 16px; display: block; object-fit: cover; max-height: 320px; }
.appt-home-cta--gradient { background: linear-gradient(135deg, color-mix(in srgb, var(--appt-primary, #059669) 12%, #fff), #fff); }
.appt-home-cta--dark { background: #0f172a; color: #f8fafc; }
.appt-home-cta--dark .section-subtitle, .appt-home-cta--dark .appt-home-cta__secondary, .appt-home-cta--dark .appt-home-cta__secure { color: #cbd5e1; }
.appt-home-cta--align-left .appt-section-head, .appt-home-cta--align-left .appt-home-cta__actions { text-align: left; align-items: flex-start; }
.appt-home-cta--align-center .appt-section-head, .appt-home-cta--align-center .appt-home-cta__actions { text-align: center; align-items: center; }
.appt-section-head { margin-bottom: 16px; }
.appt-section-head--left { text-align: left; }
.appt-section-head--center { text-align: center; }
.appt-section-logo { margin-bottom: 16px; }
.appt-section-logo img { max-height: 72px; width: auto; display: inline-block; }
.appt-home-cta__actions { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.appt-home-cta__secondary { margin: 0; font-size: 14px; color: #64748b; }
.appt-home-cta__secure { margin: 0; font-size: 13px; color: #64748b; display: inline-flex; align-items: center; gap: 6px; }
.appt-home-cta__secure .dashicons { font-size: 16px; width: 16px; height: 16px; }

.appt-home-form { padding-block: 48px; }
.appt-home-form--gradient { background: linear-gradient(180deg, color-mix(in srgb, var(--appt-primary, #059669) 8%, #fff), transparent); }
.appt-home-form--dark { background: #0f172a; color: #f8fafc; }
.appt-home-form__grid--split { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
.appt-home-form__media img { width: 100%; border-radius: 16px; display: block; object-fit: cover; }
.appt-home-form .appt-wrap { max-width: 100%; }

.appt-card__logo { text-align: center; margin-bottom: 16px; }
.appt-card__logo img { max-height: 64px; width: auto; }
.appt-form-footer { margin-top: 8px; font-size: 12px; color: #64748b; text-align: center; }

.appt-home-cards__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin-top: 28px; }
.appt-home-card { border: 1px solid #e2e8f0; border-radius: 16px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.appt-home-card__logo { padding: 16px 16px 0; text-align: center; }
.appt-home-card__logo img { max-height: 48px; width: auto; }
.appt-home-card__image img { width: 100%; height: 180px; object-fit: cover; display: block; }
.appt-home-card__body { padding: 20px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.appt-home-card__title { margin: 0; font-size: 1.15rem; }
.appt-home-card__desc { margin: 0; color: #64748b; font-size: 14px; line-height: 1.5; flex: 1; }

.appt-media-preview { position: relative; display: inline-block; margin-bottom: 8px; }
.appt-media-preview img { display: block; border-radius: 10px; max-width: 220px; height: auto; }
.appt-media-preview--logo img { max-height: 80px; width: auto; }
.appt-media-preview--cover img { max-height: 140px; width: auto; }
.appt-image-preview--logo img { max-height: 80px; width: auto; }
.appt-image-preview--cover img { max-height: 140px; width: auto; }

@media (max-width: 768px) {
	.appt-home-cta--split .appt-home-cta__content,
	.appt-home-form__grid--split { grid-template-columns: 1fr; }
}
