.donation-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2.2rem 0 1.8rem}.donation-hero h1{font-size:clamp(2.2rem,4vw,3.6rem);letter-spacing:-.05em;margin:.15rem 0 .7rem}.donation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.7rem}.donation-toolbar>p{max-width:42rem;line-height:1.6}.donation-currency{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.donation-currency select{width:auto}.donation-currency label{white-space:nowrap;font-size:.85rem}.donation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:1.35rem}.donation-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .2s,border-color .2s}.donation-card:hover{transform:translateY(-3px);border-color:#aa8249}.donation-card__art{position:relative;display:block;aspect-ratio:1.5;overflow:hidden;background:#0d121b}.donation-card__art img{width:100%;height:100%;object-fit:contain;display:block}.donation-card__kind{position:absolute;left:1rem;top:1rem;border:1px solid #d6ad5b50;padding:.3rem .65rem;border-radius:50px;background:#14171dda;color:#f7d591;font-size:.72rem;font-weight:700;backdrop-filter:blur(8px)}.donation-card__body{display:flex;flex-direction:column;gap:.9rem;padding:1.3rem;flex:1}.donation-card__body h2{font-size:1.25rem;margin:0;overflow-wrap:anywhere}.donation-card__body>p{font-size:.9rem;line-height:1.6;margin:0}.donation-contents h3{font-size:.69rem;text-transform:uppercase;letter-spacing:.1em;opacity:.6;margin:0 0 .65rem}.donation-contents ul{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.donation-contents li{display:flex;justify-content:space-between;gap:1rem;font-size:.84rem}.donation-contents li span{overflow-wrap:anywhere}.donation-contents li strong{font-weight:600;text-align:right;white-space:nowrap;flex-shrink:0}.donation-card__footer{display:flex;align-items:end;justify-content:space-between;gap:.8rem;margin-top:auto;padding-top:1.3rem;border-top:1px solid var(--border)}.donation-price{display:flex;flex-direction:column;gap:.25rem}.donation-price strong{font-size:1.6rem;font-weight:750;letter-spacing:-.04em}.donation-price small{font-size:.8rem;font-weight:500;letter-spacing:0;opacity:.65}.donation-price>span{font-size:.8rem;opacity:.6}.donation-notice{padding:1rem 1.15rem;border:1px solid #b88b4840;border-radius:12px;background:#bf903310;line-height:1.6;font-size:.9rem}.donation-empty{grid-column:1/-1;text-align:center;padding:4rem 2rem}.donation-empty>span{font-size:3rem;color:#c9a260}.donation-checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;max-width:1000px}.donation-checkout .donation-card__art{aspect-ratio:1.5}.donation-checkout .donation-card:hover{transform:none}.donation-payment{align-self:start}.donation-method{display:flex;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:12px;cursor:pointer}.donation-method input{width:auto;align-self:start;margin-top:.3rem}.donation-method span{display:grid;gap:.4rem}.donation-method small{opacity:.6;line-height:1.4}.donation-method:has(input:checked){border-color:#b99152;background:#bc934a0a}.donation-method.is-disabled{opacity:.45;cursor:default}.donation-total{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}.donation-total strong{font-size:1.9rem}.donation-order{display:flex;justify-content:space-between;align-items:center;gap:1rem}.donation-order h2{font-size:1.15rem;margin:0}.donation-order small{opacity:.6}.donation-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:2rem 0}.donation-actions{display:flex;flex-wrap:wrap;gap:.75rem}.donation-item-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr) auto;align-items:start;gap:1rem}.donation-admin-preview{width:180px;border-radius:12px} @media(max-width:760px){.donation-hero,.donation-toolbar{align-items:start;flex-direction:column;gap:1rem}.donation-checkout{grid-template-columns:1fr;gap:1rem}.donation-item-row{grid-template-columns:1fr}.donation-order{align-items:start;flex-wrap:wrap}.donation-currency{flex-wrap:wrap}.donation-card__footer{gap:.5rem}}

.donation-currency { flex-wrap: wrap; min-width: 0; }
.donation-currency select { min-width: 0; max-width: 100%; }
.donation-toolbar .donation-currency { flex-shrink: 1; }

/* Постоянный вход в донат между кошельком и состоянием соединения. */
.topbar-donate {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.3rem;
  border: 1px solid #72e5a34d;
  border-radius: .75rem;
  padding: .5rem .85rem;
  background: linear-gradient(135deg, #16804d, #076046);
  color: #fff;
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 #ffffff1f, 0 4px 14px #16804d26;
  transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease;
}
.topbar-donate:hover {
  border-color: #86efac99;
  background: linear-gradient(135deg, #17844f, #087150);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 #ffffff26, 0 6px 18px #16804d40;
}
.topbar-donate:active { transform: translateY(0); }
.topbar-donate:focus-visible {
  outline: 3px solid #22c55e;
  outline-offset: 3px;
}
.topbar-donate.is-active { border-color: #86efac; }
.topbar-donate__icon { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; }
@media (max-width: 44rem) {
  .topbar__summary { gap: .45rem .65rem; }
  .topbar-donate { min-height: 2.3rem; padding-inline: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .topbar-donate { transition: none; }
  .topbar-donate:hover { transform: none; }
}
.gold-topup{align-items:start}.gold-topup .stack{align-content:start}.gold-topup .donation-total strong{font-size:1.35rem}.gold-peg{font-size:1.1rem;font-weight:700;color:var(--warning)}

/* Акции: тёплый фон и контрастный текст одинаково читаются в обеих темах. */
.gold-topup .card > h2, .gold-topup .card > p { margin-bottom: 0; }
.gold-topup [data-gold-amount-form] { gap: .65rem; margin-bottom: 0; }
.gold-topup [data-gold-form-errors]:empty, .gold-topup [data-gold-calculation-status]:empty { display: none; }
.gold-promo-heading { margin: 1.2rem 0 .85rem; }
.gold-promo-heading h3 { margin: 0 0 .3rem; font-size: 1.05rem; }
.gold-promo-heading > span { color: var(--muted); font-size: .8rem; }
.gold-promo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 175px), 1fr)); gap: .75rem; }
.gold-promo {
  display: flex; position: relative; min-width: 0; flex-direction: column; gap: .55rem;
  border: 1px solid color-mix(in srgb, #e1ae3f 45%, var(--line)); border-radius: 1rem;
  padding: 1rem; background: radial-gradient(ellipse at top right, #e5b74724, transparent 75%), var(--surface);
  color: var(--text); text-decoration: none; overflow-wrap: anywhere;
  box-shadow: inset 0 1px 0 #f9d47716; transition: border-color 150ms ease, box-shadow 150ms ease;
}
a.gold-promo:hover, .gold-promo.is-selected { border-color: #c69020; color: var(--text); box-shadow: 0 0 0 2px #d9a52e55; }
.gold-promo.is-selected { background: radial-gradient(ellipse at top right, #e5b74742, transparent 90%), var(--surface); }
.gold-promo:focus-visible { outline: 3px solid #c69020; outline-offset: 3px; }
.gold-promo-tag { align-self: flex-start; width: fit-content; border: 1px solid #b78325; border-radius: 999px; padding: .25rem .6rem; background: #f2cd70; color: #3c2904; font-size: .72rem; font-weight: 850; line-height: 1.3; }
.gold-promo-name { min-height: 2.7em; font-size: .9rem; line-height: 1.35; }
.gold-promo-amount { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem; margin-top: .2rem; font-size: 2.1rem; font-weight: 850; line-height: 1.1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.gold-promo-amount small { font-size: .78rem; letter-spacing: 0; font-weight: 650; }
.gold-promo-paid { font-size: .76rem; color: var(--text-soft); line-height: 1.45; }
.gold-promo-gift { display: block; border-radius: .5rem; background: #f3cf78; color: #432e06; padding: .45rem .6rem; font-size: .78rem; font-weight: 800; line-height: 1.45; }
.gold-promo-frequency { margin-top: auto; padding-top: .3rem; color: var(--muted); font-size: .7rem; }
.gold-promo-used { color: var(--muted); font-size: .75rem; font-weight: 650; }
.gold-promo.is-unavailable { background: var(--surface-inset); border-color: var(--line); }
.gold-promo.is-unavailable .gold-promo-tag { background: var(--surface); color: var(--muted); border-color: var(--line); }
.gold-promo.is-unavailable .gold-promo-gift { background: var(--surface); color: var(--text-soft); }
.gold-promo form { margin: 0; }
.gold-promo form .button { width: 100%; padding: .55rem; font-size: .75rem; white-space: normal; }
.gold-promo-reset { display: inline-block; margin-top: 1rem; font-size: .82rem; }
.gold-promo-summary { border-left: 3px solid #c69020; padding: .6rem .85rem; background: #e5b74712; border-radius: .25rem; }
.gold-promo-summary strong, .gold-promo-summary span { display: block; overflow-wrap: anywhere; }
.gold-promo-summary span { margin-top: .3rem; font-size: .85rem; }
.gold-promo-history { display: block; margin-top: .4rem; color: var(--text-soft); }
.gold-promo-admin-list { display: grid; gap: 1rem; }
.gold-promo-admin-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.gold-promo-admin-row > div { min-width: 0; overflow-wrap: anywhere; }
.gold-promo-admin-row h2 { font-size: 1.15rem; margin: .65rem 0 .35rem; }
.gold-promo-admin-row p { margin: .3rem 0; }
.gold-promo-admin-row > .button { flex-shrink: 0; }
.gold-promo-editor { align-items: start; }
.gold-promo--preview { max-width: 19rem; width: 100%; }
.gold-promo-editor-bonus { border-radius: .6rem; background: #f3cf78; color: #432e06; padding: .75rem; font-weight: 700; font-size: .85rem; }
@media (max-width: 480px) { .gold-promo-admin-row { flex-direction: column; align-items: stretch; } }
@media (prefers-reduced-motion: reduce) { .gold-promo { transition: none; } }
