.dv-callout{margin:26px 0;padding:16px;border:1px solid rgba(0,0,0,.08);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.dv-callout-title{font-weight:900;margin-bottom:10px}
.dv-callout-sub{margin:-2px 0 12px;opacity:.9}
.dv-callout-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.dv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:14px;border:1px solid rgba(0,0,0,.16);background:#f7f7f7;text-decoration:none;font-weight:900;cursor:pointer}
.dv-btn-primary{background:#111;color:#fff;border-color:#111}
.dv-btn-outline{background:#fff}

.dv-feedback{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dv-feedback-label{font-weight:800}
.dv-fb-btn{border:1px solid rgba(0,0,0,.16);background:#fff;border-radius:12px;padding:8px 10px;font-size:18px;cursor:pointer;line-height:1}
.dv-fb-btn:hover{background:#f4f4f4}
.dv-fb-active{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.dv-fb-msg{opacity:.75;font-size:.95em}

.dv-donate{margin-top:14px;border:1px solid rgba(0,0,0,.10);border-radius:16px;background:#fff;padding:14px;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.dv-donate-title{font-weight:900;margin-bottom:6px}
.dv-donate-text{opacity:.9;margin-bottom:10px}
.dv-donate-actions{display:flex;flex-wrap:wrap;gap:10px}
.dv-donate-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid rgba(0,0,0,.16);background:#f7f7f7;text-decoration:none;font-weight:900}
.dv-donate-btn:hover{background:#efefef}
.dv-donate-btn-ghost{background:#111;color:#fff;border-color:#111}
.dv-donate-btn-ghost:hover{filter:brightness(1.05)}

.dv-help{margin-top:14px;border:1px solid rgba(0,0,0,.10);border-radius:16px;background:#fcfcfc;padding:14px}
.dv-help-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.dv-help-title{font-weight:900}
.dv-help-close{border:0;background:transparent;cursor:pointer;font-size:18px;line-height:1;padding:8px 10px;border-radius:10px}
.dv-help-close:hover{background:rgba(0,0,0,.06)}
.dv-help-steps{margin:0 0 12px 18px;line-height:1.5}
.dv-help-box{margin-top:8px;padding:12px;border-radius:14px;background:#fff;border:1px solid rgba(0,0,0,.08)}
.dv-label{display:block;font-weight:800;margin-bottom:6px}
.dv-input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(0,0,0,.16);font-size:16px;outline:none}
.dv-input:focus{border-color:rgba(0,0,0,.45);box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.dv-help-rule{margin-top:8px;opacity:.85;font-size:.95em}
.dv-help-dial{margin-top:10px}
.dv-help-dial-label{font-weight:800;margin-bottom:6px}
.dv-help-dial-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;padding:12px 12px;background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:14px;overflow-x:auto;font-weight:900;letter-spacing:.5px}
.dv-help-foot{margin-top:10px;opacity:.85;font-size:.95em}

@media(max-width:520px){
  .dv-callout-actions{flex-direction:column;align-items:stretch}
  .dv-btn{width:100%}
  .dv-feedback{justify-content:flex-start}
  .dv-donate-actions{flex-direction:column}
  .dv-donate-btn{width:100%}
}

/* Payment logos inside donation boxes */
.dv-paybadges{
  margin:10px 0 6px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.dv-paylogo{
  width:74px;
  height:26px;
  display:inline-flex;
}
.dv-paylogo svg{
  width:74px;
  height:26px;
  display:block;
}
.dv-paylogo rect{
  fill:#fff;
  stroke:rgba(0,0,0,.18);
  stroke-width:2;
}
.dv-paylogo text{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight:900;
  fill:#111;
  letter-spacing:.3px;
}
.dv-paylogo-visa text{ font-size:18px; font-style:italic; }
.dv-paylogo-mc circle{ fill:#111; opacity:.12; }
.dv-paylogo-mc text{ font-size:10px; font-weight:800; text-transform:lowercase; fill:#111; opacity:.9; }
.dv-paylogo-ideal text{ font-size:18px; }
.dv-paylogo-revolut text{ font-size:16px; font-weight:900; }

.dv-no-target{margin-top:12px;padding:12px;border-radius:14px;background:rgba(0,0,0,.03);border:1px dashed rgba(0,0,0,.18)}
.dv-no-target-title{font-weight:900;margin-bottom:6px}
.dv-no-target-text{opacity:.85;margin-bottom:10px}
.dv-no-target-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.dv-no-target-row .dv-input{flex:1;min-width:240px}
.dv-no-target-hint{opacity:.7;margin-top:8px;font-size:13px}
