/* CultPrint / добровольная поддержка. Все стили изолированы префиксом cp-donate. */
body.cp-donate-open { overflow: hidden; }
.cp-donate-overlay[hidden], .cp-donate-overlay [hidden] { display: none !important; }
.cp-donate-overlay {
  position: fixed; inset: 0; z-index: 2147483000;
  display: flex; align-items: center; justify-content: center;
  padding: 20px 14px; overflow-y: auto;
  background: rgba(19, 33, 52, .64); backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  font-family: inherit; color: #183047;
}
.cp-donate-card {
  position: relative; width: min(100%, 446px); max-height: calc(100dvh - 40px);
  overflow-y: auto; box-sizing: border-box; padding: 30px 30px 24px;
  border: 1px solid #dce8f2; border-radius: 24px;
  background: #fff; box-shadow: 0 24px 70px rgba(8,23,48,.23);
  text-align: center; outline: none;
}
.cp-donate-card * { box-sizing: border-box; }
.cp-donate-symbol {
  width: 56px; height: 56px; border-radius: 18px;
  margin: 0 auto 15px; display: grid; place-items: center;
  background: linear-gradient(135deg,#eaf8fa,#e8f1ff); color: #127aa3;
  font-size: 27px; line-height: 1;
}
.cp-donate-eyebrow {
  font-size: 10px; font-weight: 800; letter-spacing: .12em;
  color: #547b96; margin: 0 0 9px;
}
.cp-donate-card h2 {
  color: #14324c; font-size: clamp(23px, 4vw, 28px);
  letter-spacing: -.035em; font-weight: 750; line-height: 1.17; margin: 0 0 12px;
}
.cp-donate-description {
  color: #51667a; font-size: 14px; line-height: 1.6;
  margin: 0 auto 20px; max-width: 360px;
}
.cp-donate-question { font-weight: 730; color:#203f55; margin: 0 0 12px; font-size: 15px; }
.cp-donate-amounts { display: flex; gap: 9px; justify-content: center; margin: 0 0 15px; }
.cp-donate-amounts button {
  flex: 1; border: 1px solid #d7e4ee; border-radius: 12px;
  min-height: 47px; background: #f8fbfd; color: #33526a;
  font-family: inherit; font-weight: 750; font-size: 15px; line-height: 1.2; cursor: pointer;
  transition: background .12s, border-color .12s, box-shadow .12s;
}
.cp-donate-amounts button:hover { border-color: #8ab8d2; background: #f1f9fb; }
.cp-donate-amounts button.is-selected {
  color: #126282; border-color: #45a7bd; background: #e7f9f9;
  box-shadow: 0 0 0 2px rgba(35,159,178,.13);
}
.cp-donate-primary {
  display: flex; align-items: center; justify-content: center; gap: 5px;
  width: 100%; min-height: 51px; padding: 10px 16px;
  background: linear-gradient(115deg,#0b849f,#1470bd);
  border-radius: 13px; color: white !important; text-decoration: none !important;
  font-weight: 750; font-size: 16px; letter-spacing: -.01em;
  box-shadow: 0 8px 18px rgba(14,110,166,.18);
}
.cp-donate-primary:hover { filter: brightness(1.06); }
.cp-donate-primary:focus-visible, .cp-donate-card button:focus-visible {
  outline: 3px solid #63b8df; outline-offset: 3px;
}
.cp-donate-free-wrap { margin-top: 13px; }
.cp-donate-free {
  appearance: none; border: 0; background: none; cursor: pointer;
  color: #62798b; text-decoration: underline; text-underline-offset: 3px;
  padding: 6px 10px; font-family: inherit; font-weight: 650; font-size: 14px; line-height: 1.3;
}
.cp-donate-free:hover { color: #164f75; }
.cp-donate-disclaimer { margin: 17px 0 0; color: #728397; font-size: 11.5px; line-height: 1.55; }
.cp-donate-close {
  position: absolute; top: 14px; right: 15px; border: 0; border-radius: 50%;
  background: #f1f5f9; color: #5b6e81; width: 31px; height: 31px;
  display: grid; place-items: center; font: 26px/1 Arial,sans-serif; cursor: pointer;
}
.cp-donate-close:hover { background: #e4eef7; color: #113f5c; }
.cp-donate-return { margin: 14px 0 0; padding: 13px; border-radius: 12px; background: #eef8fb; }
.cp-donate-return p { font-size: 13px; line-height: 1.5; color: #315b70; margin: 0 0 12px; }
.cp-donate-return-button {
  width: 100%; border: 1px solid #9ccbdc; border-radius: 10px;
  padding: 12px; background: #fff; color: #126282;
  font-family: inherit; font-weight: 730; font-size: 14px; line-height: 1.3; cursor: pointer;
}
.cp-donate-waiting .cp-donate-amounts, .cp-donate-waiting .cp-donate-question,
.cp-donate-waiting .cp-donate-primary { display: none !important; }
@media (max-width: 420px) {
  .cp-donate-overlay { align-items: center; padding: 12px; }
  .cp-donate-card { padding: 24px 20px 19px; border-radius: 20px; max-height: calc(100dvh - 24px); }
  .cp-donate-description { font-size: 13px; line-height: 1.55; }
  .cp-donate-symbol { width: 48px; height: 48px; margin-bottom: 12px; }
  .cp-donate-disclaimer { margin-top: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-donate-card *, .cp-donate-overlay { animation: none !important; transition: none !important; }
}
