.support-nav {
  display:inline-flex; align-items:center; justify-content:center;
  gap:5px;
  padding:6px 11px !important; border:1px solid var(--line, #ececec);
  border-radius:100px; background:var(--soft, #f4f4f4);
  color:var(--fg, #0d0d0d) !important; font-size:12.5px !important;
  line-height:1.2; text-decoration:none; white-space:nowrap;
}
.support-nav:hover { opacity:.72; }

.support-modal {
  position:fixed; inset:0; z-index:1000; display:none;
  align-items:center; justify-content:center; padding:20px;
  background:rgba(10,10,10,.48); backdrop-filter:blur(6px);
}
.support-modal.open { display:flex; }
.support-dialog {
  position:relative; width:min(460px, 100%); max-height:calc(100svh - 40px);
  overflow:auto; padding:34px; border-radius:22px;
  background:#fff; color:#0d0d0d; box-shadow:0 28px 80px -28px rgba(0,0,0,.5);
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",sans-serif;
}
.support-close {
  position:absolute; top:16px; right:16px; width:36px; height:36px;
  border:1px solid #ececec; border-radius:50%; background:#fff;
  color:#0d0d0d; font:18px/1 inherit; cursor:pointer;
}
.support-dialog .support-heart {
  width:52px; height:52px; margin-bottom:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#0d0d0d; color:#fff; font-size:20px;
}
.support-dialog h2 { margin:0 42px 8px 0; font-size:25px; line-height:1.15; letter-spacing:-.02em; }
.support-dialog .support-intro { margin:0 0 22px; color:#666; font-size:14.5px; line-height:1.55; }
.support-amounts { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:13px; }
.support-amount {
  border:1px solid #ddd; border-radius:10px; padding:10px;
  background:#fff; color:#0d0d0d; font:500 14px inherit; cursor:pointer;
}
.support-amount:hover, .support-amount.on { border-color:#0d0d0d; background:#0d0d0d; color:#fff; }
.support-custom { display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.support-custom label { color:#666; font-size:13px; white-space:nowrap; }
.support-custom input {
  width:100%; border:1px solid #ddd; border-radius:10px; padding:10px 12px;
  color:#0d0d0d; background:#fff; font:15px inherit; outline:none;
}
.support-custom input:focus { border-color:#0d0d0d; }
.support-checkout {
  width:100%; border:0; border-radius:100px; padding:14px 20px;
  background:#0d0d0d; color:#fff; font:600 15px inherit; cursor:pointer;
}
.support-checkout:hover { opacity:.87; }
.support-checkout:disabled { opacity:.5; cursor:wait; }
.support-fine { margin:11px 0 0; color:#8a8a8a; text-align:center; font-size:11.5px; }
.support-error { min-height:18px; margin:9px 0 0; color:#b42318; text-align:center; font-size:12.5px; }

body.support-modal-open { overflow:hidden; }
@media (max-width:560px) {
  .support-nav .support-label { display:none; }
  .support-nav { padding:6px 9px !important; }
  .support-dialog { padding:28px 22px; }
}
@media (prefers-reduced-motion:reduce) {
  .support-modal { backdrop-filter:none; }
}
