.ddp-card {
  --ddp-accent: #1261a0;
  --ddp-ink: #172033;
  --ddp-muted: #5d6677;
  display: grid;
  grid-template-columns: minmax(220px, 40%) 1fr;
  max-width: 920px;
  margin: 2rem auto;
  overflow: hidden;
  color: var(--ddp-ink);
  background: #fff;
  border: 1px solid #e4e8ef;
  border-radius: 18px;
  box-shadow: 0 16px 45px rgba(29, 42, 68, .12);
}

.ddp-card__media { min-height: 100%; background: #edf2f7; }
.ddp-card__media img { display: block; width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.ddp-card__body { padding: clamp(1.5rem, 4vw, 3rem); }
.ddp-card__title { margin: 0 0 .75rem; color: var(--ddp-ink); line-height: 1.12; }
.ddp-card__text { margin-bottom: 1.35rem; color: var(--ddp-muted); line-height: 1.65; }
.ddp-card__text > :first-child { margin-top: 0; }
.ddp-card__label { display: block; margin-bottom: .45rem; font-weight: 700; }
.ddp-card__amount-row { display: flex; align-items: center; gap: .65rem; margin-bottom: .5rem; }
.ddp-card__amount-row span { font-weight: 700; }
.ddp-card__amount { box-sizing: border-box; width: 100%; max-width: 190px; min-height: 46px; padding: .6rem .75rem; color: var(--ddp-ink); background: #fff; border: 1px solid #aab3c2; border-radius: 8px; font: inherit; font-size: 1.1rem; }
.ddp-card__amount:focus { border-color: var(--ddp-accent); outline: 3px solid rgba(18, 97, 160, .16); }
.ddp-card__minimum { margin: 0 0 1.15rem; color: var(--ddp-muted); font-size: .9rem; }
.ddp-card__paypal { max-width: 420px; min-height: 48px; }
.ddp-card__message { margin-top: 1rem; padding: 0; border-radius: 8px; }
.ddp-card__message:not(:empty) { padding: .8rem 1rem; }
.ddp-card__message--success { color: #145c31; background: #e6f6ec; }
.ddp-card__message--error { color: #8a1f2d; background: #fdebed; }
.ddp-card__message--info { color: #234b70; background: #eaf3fb; }
.ddp-card__download { display: inline-block; margin-top: .65rem; padding: .7rem 1rem; color: #fff !important; background: var(--ddp-accent); border-radius: 7px; font-weight: 700; text-decoration: none !important; }
.ddp-card__download:hover, .ddp-card__download:focus { color: #fff; filter: brightness(.9); }

@media (max-width: 680px) {
  .ddp-card { grid-template-columns: 1fr; }
  .ddp-card__media img { min-height: 220px; max-height: 320px; }
}
