.brsm-vpn-toast {
  position: fixed;
  z-index: 999999;
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(420px, calc(100vw - 28px));
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--brsm-vpn-accent) 48%, transparent);
  border-radius: 16px;
  background: var(--brsm-vpn-background);
  color: var(--brsm-vpn-text);
  box-shadow: 0 18px 44px rgba(16, 42, 37, 0.24);
  direction: rtl;
  font-family: inherit;
  line-height: 1.9;
  animation: brsm-vpn-toast-in 0.32s ease both;
}
.brsm-vpn-toast-top-right {
  top: 22px;
  right: 22px;
}
.brsm-vpn-toast-top-left {
  top: 22px;
  left: 22px;
}
.brsm-vpn-toast-bottom-right {
  right: 22px;
  bottom: 22px;
}
.brsm-vpn-toast-bottom-left {
  bottom: 22px;
  left: 22px;
}
.brsm-vpn-toast.is-leaving {
  animation: brsm-vpn-toast-out 0.24s ease both;
}
.brsm-vpn-toast-icon {
  display: grid;
  flex: 0 0 38px;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(85, 214, 163, 0.18);
  background: color-mix(in srgb, var(--brsm-vpn-accent) 18%, transparent);
  color: var(--brsm-vpn-accent);
  font-size: 20px;
}
.brsm-vpn-toast-message {
  flex: 1;
  font-size: 13px;
  font-weight: 700;
}
.brsm-vpn-toast-close {
  display: grid;
  flex: 0 0 28px;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--brsm-vpn-text);
  cursor: pointer;
  opacity: 0.72;
}
.brsm-vpn-toast-close:hover,
.brsm-vpn-toast-close:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  opacity: 1;
}
@keyframes brsm-vpn-toast-in {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes brsm-vpn-toast-out {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
}
@media (max-width: 600px) {
  .brsm-vpn-toast-top-right,
  .brsm-vpn-toast-top-left {
    top: 12px;
  }
  .brsm-vpn-toast-bottom-right,
  .brsm-vpn-toast-bottom-left {
    bottom: 12px;
  }
  .brsm-vpn-toast-top-right,
  .brsm-vpn-toast-bottom-right {
    right: 12px;
  }
  .brsm-vpn-toast-top-left,
  .brsm-vpn-toast-bottom-left {
    left: 12px;
  }
}
.brsm-donation-receipt-bank {
  display: inline-flex !important;
  align-items: center;
  gap: 7px !important;
}
.brsm-donation-receipt-bank-logo {
  display: block;
  width: 32px;
  height: 32px;
  padding: 3px;
  border-radius: 8px;
  background: #fff;
  object-fit: contain;
}
.brsm-donation-methods {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  border: 0;
}
.brsm-donation-methods legend {
  width: 100%;
  margin-bottom: 8px;
  color: #36574c;
  font-size: 12px;
  font-weight: 800;
}
.brsm-donation-methods label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px;
  border: 1px solid #dfeae4;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}
.brsm-donation-methods label:has(input:checked) {
  border-color: #209b78;
  background: #f0fbf5;
}
.brsm-donation-methods input {
  accent-color: #209b78;
}
.brsm-donation-methods label span {
  display: grid;
  gap: 3px;
}
.brsm-donation-methods label i {
  color: #16845f;
  font-size: 19px;
}
.brsm-donation-methods strong {
  color: #21483b;
  font-size: 12px;
}
.brsm-donation-methods small {
  color: #70857d;
  font-size: 10px;
}
.brsm-donation-card-choice {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}
.brsm-donation-card-choice[hidden] {
  display: none;
}
.brsm-donation-card-choice label {
  color: #36574c;
  font-size: 12px;
  font-weight: 800;
  margin-top: 5px;
}
.brsm-donation-card-choice select {
  width: 100%;
  padding: 11px;
  border: 1px solid #dfeae4;
  border-radius: 10px;
  background: #fff;
  color: #21483b;
}
.brsm-donation-card-panel {
  max-width: 760px;
  margin: 24px auto;
  padding: 22px;
  border: 1px solid #dcebe3;
  border-radius: 16px;
  background: #f8fcfa;
}
.brsm-donation-card-panel .brsm-bank-card {
  display: grid;
  gap: 8px;
  max-width: 360px;
  margin: 16px 0;
  padding: 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, #176b55, #209b78);
  color: #fff;
}
.brsm-donation-card-panel .brsm-bank-card b {
  font-size: 18px;
  letter-spacing: 1px;
}
.brsm-donation-card-panel .brsm-bank-card small {
  opacity: 0.9;
}
.brsm-donation-card-panel .brsm-receipt-form {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
@media (max-width: 600px) {
  .brsm-donation-methods {
    grid-template-columns: 1fr;
  }
}
.brsm-refund-dashboard {
  --brsm-refund-ink: #102a25;
  --brsm-refund-muted: #6a8179;
  --brsm-refund-line: #d9e9e2;
  max-width: 980px;
  margin: 24px auto;
  color: var(--brsm-refund-ink);
  font-family: "IRANYekan", Tahoma, sans-serif;
}
.brsm-refund-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  overflow: hidden;
  padding: 30px 32px;
  border-radius: 24px;
  background: linear-gradient(135deg, #102f29 0%, #17624d 58%, #0c2524 100%);
  color: #effff8;
  box-shadow: 0 20px 42px rgba(13, 59, 45, 0.2);
}
.brsm-refund-hero:after {
  content: "";
  position: absolute;
  inset: -80px -30px auto auto;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(190, 255, 229, 0.18);
  border-radius: 50%;
  box-shadow:
    0 0 0 24px rgba(190, 255, 229, 0.04),
    0 0 0 48px rgba(190, 255, 229, 0.03);
  pointer-events: none;
}
.brsm-refund-eyebrow {
  display: block;
  margin-bottom: 8px;
  color: #91e6c4;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
}
.brsm-refund-hero h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 8px;
  color: #fff;
  font-size: 25px;
  font-weight: 900;
}
.brsm-refund-hero p {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 620px;
  color: #b9d8cd;
  font-size: 13px;
  line-height: 2;
}
.brsm-refund-hero-mark {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(188, 255, 228, 0.35);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.1);
  color: #a8f2d2;
  font-size: 25px;
  transform: rotate(-45deg);
}
.brsm-refund-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.brsm-refund-summary > div {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 17px 18px;
  border: 1px solid var(--brsm-refund-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(24, 75, 59, 0.055);
}
.brsm-refund-summary span {
  color: var(--brsm-refund-muted);
  font-size: 11px;
  font-weight: 700;
}
.brsm-refund-summary strong {
  font-size: 24px;
  line-height: 1;
  color: var(--brsm-refund-ink);
}
.brsm-refund-summary .is-pending {
  border-color: #eadba8;
  background: #fffdf4;
}
.brsm-refund-summary .is-pending strong {
  color: #9a741d;
}
.brsm-refund-summary .is-success {
  border-color: #bfe3d1;
  background: #f5fcf8;
}
.brsm-refund-summary .is-success strong {
  color: #207454;
}
.brsm-refund-summary .is-rejected {
  border-color: #edcccc;
  background: #fff8f8;
}
.brsm-refund-summary .is-rejected strong {
  color: #a33e3e;
}
.brsm-refund-orders {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.brsm-account-refund {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 20px;
  border: 1px solid var(--brsm-refund-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 9px 25px rgba(24, 75, 59, 0.065);
  transition:
    transform 0.2s,
    box-shadow 0.2s,
    border-color 0.2s;
}
.brsm-account-refund:hover {
  transform: translateY(-3px);
  border-color: #a9d5c5;
  box-shadow: 0 15px 30px rgba(24, 75, 59, 0.1);
}
.brsm-account-refund header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 15px;
  border-bottom: 1px solid #edf3f0;
}
.brsm-account-refund header > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.brsm-refund-order-label {
  color: var(--brsm-refund-muted);
  font-size: 10px;
}
.brsm-account-refund header a {
  color: var(--brsm-refund-ink);
  font-size: 18px;
  font-weight: 900;
  text-decoration: none;
}
.brsm-account-refund header a:hover {
  color: #159a73;
}
.brsm-account-refund-status {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
}
.brsm-account-refund-status.is-requested {
  background: #fff6d8;
  color: #8a6517;
}
.brsm-account-refund-status.is-approved {
  background: #e7f7ee;
  color: #207454;
}
.brsm-account-refund-status.is-refunded {
  background: #e5f1ff;
  color: #245c91;
}
.brsm-account-refund-status.is-rejected {
  background: #ffeded;
  color: #a33e3e;
}
.brsm-account-refund dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 15px 0 0;
  padding: 0;
}
.brsm-account-refund dl div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 11px;
  border-radius: 10px;
  background: #f6faf8;
}
.brsm-account-refund dt {
  color: var(--brsm-refund-muted);
  font-size: 10px;
}
.brsm-account-refund dd {
  margin: 0;
  color: var(--brsm-refund-ink);
  font-size: 12px;
  font-weight: 800;
}
.brsm-account-refund > p {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 9px;
  background: #f8fbfa;
  color: #587269;
  font-size: 11px;
  line-height: 1.9;
}
.brsm-account-refund > p b {
  color: var(--brsm-refund-ink);
}
.brsm-account-refund .brsm-box {
  margin: 16px 0 0;
  padding: 15px;
  border: 1px solid #cce5da;
  border-radius: 14px;
  background: #f4fbf7;
  box-shadow: none;
}
.brsm-account-refund .brsm-box strong {
  display: block;
  margin-bottom: 10px;
  color: #17684f;
  font-size: 13px;
}
.brsm-account-refund .brsm-box textarea {
  width: 100%;
  min-height: 78px;
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid #cfe2d9;
  border-radius: 9px;
  background: #fff;
  color: var(--brsm-refund-ink);
  font: inherit;
  font-size: 11px;
  resize: vertical;
}
.brsm-account-refund .brsm-box textarea:focus {
  border-color: #159a73;
  box-shadow: 0 0 0 3px rgba(21, 154, 115, 0.12);
  outline: 0;
}
.brsm-account-refund .brsm-box .button {
  width: 100%;
  min-height: 42px;
  border: 0 !important;
  border-radius: 9px !important;
  background: #159a73 !important;
  font-size: 11px;
}
.brsm-refund-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  grid-column: 1/-1;
  padding: 44px 20px;
  border: 1px dashed #b8d9cb;
  border-radius: 18px;
  background: #f8fcfa;
  text-align: center;
}
.brsm-refund-empty strong {
  color: var(--brsm-refund-ink);
  font-size: 15px;
}
.brsm-refund-empty span {
  color: var(--brsm-refund-muted);
  font-size: 12px;
}
@media (max-width: 760px) {
  .brsm-refund-dashboard {
    margin: 16px 0;
  }
  .brsm-refund-hero {
    align-items: flex-start;
    padding: 23px 20px;
    border-radius: 19px;
  }
  .brsm-refund-hero h2 {
    font-size: 21px;
  }
  .brsm-refund-hero-mark {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    font-size: 20px;
  }
  .brsm-refund-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .brsm-refund-orders {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 430px) {
  .brsm-refund-hero-mark {
    display: none;
  }
  .brsm-refund-summary > div {
    padding: 14px;
  }
  .brsm-refund-summary strong {
    font-size: 21px;
  }
  .brsm-account-refund {
    padding: 16px;
  }
  .brsm-account-refund header {
    gap: 7px;
  }
  .brsm-account-refund-status {
    font-size: 9px;
    padding: 5px 7px;
  }
}
.brsm-card-choice,
.brsm-transfer-panel {
  --brsm-ink: #102a25;
  --brsm-muted: #668078;
  --brsm-line: #d8e8e1;
  --brsm-accent: #159a73;
}
.brsm-transfer-panel {
  max-width: 980px;
  margin: 30px auto;
  padding: 30px;
  border: 1px solid var(--brsm-line);
  border-radius: 24px;
  background: linear-gradient(145deg, #f9fdfb, #eef8f3);
  box-shadow: 0 18px 45px rgba(16, 71, 55, 0.09);
}
.brsm-transfer-head {
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 22px !important;
}
.brsm-transfer-head h3 {
  color: var(--brsm-ink);
  font-size: 21px !important;
  font-weight: 900;
}
.brsm-transfer-head p {
  color: var(--brsm-muted);
  font-size: 13px;
  line-height: 2;
}
.brsm-step {
  width: 42px !important;
  height: 42px !important;
  flex-basis: 42px !important;
  border-radius: 14px !important;
  background: #159a73 !important;
  color: #fff !important;
  box-shadow: 0 8px 16px rgba(21, 154, 115, 0.2);
}
.brsm-thankyou-cards {
  gap: 18px !important;
}
.brsm-thankyou-cards .brsm-bank-card {
  height: 224px !important;
  min-height: 224px !important;
  border-radius: 20px !important;
}
.brsm-amount-row {
  margin-top: 24px !important;
  padding: 18px 20px !important;
  border: 1px solid var(--brsm-line) !important;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 15px rgba(16, 71, 55, 0.04);
}
.brsm-amount-row span {
  color: var(--brsm-muted) !important;
}
.brsm-amount-row strong {
  color: var(--brsm-ink) !important;
  font-size: 21px !important;
}
.brsm-upload-head {
  margin-top: 30px !important;
  padding-top: 24px;
  border-top: 1px solid var(--brsm-line);
}
.brsm-receipt-upload-panel {
  position: relative;
  display: grid;
  gap: 18px;
  padding: 22px 22px 18px;
  border: 1px solid rgba(21, 154, 115, 0.14);
  border-radius: 26px;
  background: linear-gradient(145deg, #f9fffc 0%, #f2faf6 42%, #edf7f3 100%);
  box-shadow: 0 18px 38px rgba(16, 71, 55, 0.08);
  overflow: hidden;
}
.brsm-receipt-upload-panel:before {
  content: "";
  position: absolute;
  inset: auto -60px -80px auto;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(21, 154, 115, 0.12),
    rgba(21, 154, 115, 0) 68%
  );
  pointer-events: none;
}
.brsm-receipt-upload-panel:after {
  content: "";
  position: absolute;
  inset: -50px auto auto -70px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(32, 155, 120, 0.08),
    rgba(32, 155, 120, 0) 70%
  );
  pointer-events: none;
}
.brsm-receipt-form {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
}
.brsm-file-drop {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 170px !important;
  padding: 22px;
  border: 1.5px dashed rgba(21, 154, 115, 0.42) !important;
  border-radius: 22px !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.97),
    rgba(243, 250, 247, 0.96)
  ) !important;
  transition:
    border-color 0.2s,
    background 0.2s,
    transform 0.2s,
    box-shadow 0.2s !important;
  cursor: pointer;
  overflow: hidden;
}
.brsm-file-drop:before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(21, 154, 115, 0.06);
  border-radius: 16px;
  pointer-events: none;
}
.brsm-file-drop:hover,
.brsm-file-drop:focus-within {
  border-color: var(--brsm-accent) !important;
  background: linear-gradient(180deg, #fff, #f4faf7) !important;
  box-shadow: 0 14px 30px rgba(21, 154, 115, 0.12) !important;
  transform: translateY(-2px);
}
.brsm-file-drop input {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.brsm-file-drop-inner {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 9px;
  color: var(--brsm-ink) !important;
  text-align: center;
  pointer-events: none;
}
.brsm-file-drop-inner i {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: linear-gradient(135deg, #e9fbf5, #d3f0e4);
  color: #0e7f5f;
  font-size: 24px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 6px 18px rgba(21, 154, 115, 0.12);
}
.brsm-file-drop-inner strong {
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.1px;
}
.brsm-file-drop-inner small {
  color: var(--brsm-muted) !important;
  font-size: 12px;
}
.brsm-file-drop-meta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
  color: #5d7a73;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  pointer-events: none;
}
.brsm-file-drop-meta i {
  font-size: 12px;
  color: #1b8d68;
}
.brsm-submit-receipt {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px !important;
  padding: 0 18px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #1c9e74 0%, #138b65 100%) !important;
  border: 1px solid rgba(17, 127, 93, 0.28) !important;
  color: #fff !important;
  box-shadow: 0 14px 28px rgba(21, 154, 115, 0.2) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease;
}
.brsm-submit-receipt i {
  font-size: 15px;
  opacity: 0.95;
}
.brsm-submit-receipt:hover {
  filter: brightness(1.02);
  transform: translateY(-2px);
  box-shadow: 0 18px 32px rgba(21, 154, 115, 0.27) !important;
}
.brsm-submit-receipt:focus-visible {
  outline: 3px solid rgba(21, 154, 115, 0.16);
  outline-offset: 3px;
}
@media (max-width: 700px) {
  .brsm-transfer-panel {
    margin: 18px 0;
    padding: 16px;
    border-radius: 18px;
  }
  .brsm-transfer-panel {
    padding: 18px;
  }
  .brsm-transfer-head h3 {
    font-size: 18px !important;
  }
  .brsm-amount-row {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 6px !important;
  }
  .brsm-receipt-upload-panel {
    padding: 16px;
    border-radius: 18px;
  }
  .brsm-file-drop {
    min-height: 136px !important;
    padding: 18px;
  }
  .brsm-submit-receipt {
    width: 100% !important;
  }
}
.brsm-account-refund {
  margin: 16px 0;
  padding: 18px;
  border: 1px solid #dce8e3;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(24, 75, 59, 0.06);
}
.brsm-account-refund header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.brsm-account-refund header a {
  color: #18332c;
  font-weight: 800;
  text-decoration: none;
}
.brsm-account-refund-status {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
}
.brsm-account-refund-status.is-requested {
  background: #fff8e2;
  color: #8a6517;
}
.brsm-account-refund-status.is-approved {
  background: #eaf8f0;
  color: #207454;
}
.brsm-account-refund-status.is-refunded {
  background: #e5f1ff;
  color: #245c91;
}
.brsm-account-refund-status.is-rejected {
  background: #fff0f0;
  color: #a33e3e;
}
.brsm-account-refund dl {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px solid #edf3f0;
}
.brsm-account-refund dl div {
  display: flex;
  gap: 6px;
}
.brsm-account-refund dt {
  color: #6b7b78;
  font-size: 12px;
}
.brsm-account-refund dd {
  margin: 0;
  color: #18332c;
  font-size: 12px;
  font-weight: 700;
}
.brsm-account-refund p {
  margin: 12px 0 0;
  color: #526560;
  font-size: 12px;
  line-height: 2;
}
.brsm-account-refund p b {
  color: #18332c;
}
@media (max-width: 600px) {
  .brsm-account-refund header {
    align-items: flex-start;
    flex-direction: column;
  }
  .brsm-account-refund dl {
    display: grid;
    gap: 7px;
  }
  .brsm-account-refund dl div {
    justify-content: space-between;
  }
}
.brsm-block-content,
.brsm-box,
.brsm-alert,
.brsm-result-card {
  color: #18332c;
  line-height: 1.9;
}
.brsm-block-content {
  margin-top: 12px;
  padding: 16px 18px;
  border: 1px solid #d9ebe3;
  border-radius: 14px;
  background: linear-gradient(135deg, #f9fdfb, #eef8f3);
  box-shadow: 0 8px 22px rgba(19, 66, 53, 0.05);
}
.brsm-block-content p {
  margin: 0;
  color: #557169;
  font-size: 13px;
}
.brsm-block-content p + p {
  margin-top: 8px;
}
.brsm-block-content a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin-top: 4px;
  padding: 7px 13px;
  border-radius: 9px;
  background: #209b78;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 7px 15px rgba(32, 155, 120, 0.16);
  transition:
    transform 0.18s,
    filter 0.18s;
}
.brsm-block-content a:hover {
  filter: brightness(0.96);
  transform: translateY(-1px);
}
.brsm-box {
  margin: 24px 0;
  padding: 24px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #d9ebe3;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #f4fbf7);
  box-shadow: 0 12px 30px rgba(19, 66, 53, 0.07);
}
.brsm-wallet-login-notice {
  margin: 20px 0;
  padding: 16px 20px;
  border: 1px solid #d9ebe3;
  border-radius: 14px;
  background: #f4fbf7;
  text-align: right;
}
.brsm-wallet-login-notice a {
  color: #17624d;
  font-weight: 700;
  text-decoration: none;
}
.brsm-wallet-withdrawal {
  position: relative;
  display: grid;
  gap: 22px;
  box-sizing: border-box;
  margin: 24px 0;
  padding: 26px 28px 28px;
  border: 1px solid #d9ebe3;
  border-radius: 20px;
  background: linear-gradient(135deg, #ffffff 0%, #f2faf6 100%);
  box-shadow: 0 14px 34px rgba(19, 66, 53, 0.08);
  overflow: hidden;
}
.brsm-wallet-withdrawal::after {
  position: absolute;
  top: -58px;
  left: -42px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: rgba(32, 155, 120, 0.08);
  content: "";
  pointer-events: none;
}
.brsm-wallet-withdrawal-head,
.brsm-wallet-withdrawal-fields,
.brsm-wallet-withdrawal > .button {
  position: relative;
  z-index: 1;
}
.brsm-wallet-withdrawal-head {
  display: flex;
  align-items: center;
  gap: 14px;
}
.brsm-wallet-withdrawal-icon {
  display: grid;
  flex: 0 0 48px;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #209b78;
  color: #fff;
  font-size: 21px;
  box-shadow: 0 8px 18px rgba(32, 155, 120, 0.2);
}
.brsm-wallet-withdrawal h3 {
  margin: 0;
  color: #143d31;
  font-size: 21px;
  line-height: 1.4;
}
.brsm-wallet-withdrawal-head p {
  margin: 3px 0 0;
  color: #6a8278;
  font-size: 12px;
}
.brsm-wallet-withdrawal-fields {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 14px;
}
.brsm-wallet-withdrawal-fields label {
  display: grid;
  gap: 7px;
  color: #45675b;
  font-size: 12px;
  font-weight: 700;
}
.brsm-wallet-withdrawal-fields input {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid #d4e6de;
  border-radius: 10px;
  outline: 0;
  background: rgba(255, 255, 255, 0.9);
  color: #18332c;
  transition: border-color 0.18s, box-shadow 0.18s;
}
.brsm-wallet-withdrawal-fields input:focus {
  border-color: #209b78;
  box-shadow: 0 0 0 3px rgba(32, 155, 120, 0.12);
}
.brsm-wallet-input-wrap {
  position: relative;
}
.brsm-wallet-input-wrap input {
  padding-left: 54px;
}
.brsm-wallet-input-wrap small {
  position: absolute;
  top: 50%;
  left: 13px;
  color: #789087;
  font-size: 11px;
  transform: translateY(-50%);
}
.brsm-wallet-withdrawal > .button {
  justify-self: start;
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 10px;
  background: #209b78;
  color: #fff;
  box-shadow: 0 8px 18px rgba(32, 155, 120, 0.2);
}
.brsm-wallet-withdrawal > .button i {
  margin-left: 7px;
  vertical-align: -1px;
}
@media (max-width: 700px) {
  .brsm-wallet-withdrawal {
    padding: 22px 18px;
  }
  .brsm-wallet-withdrawal-fields {
    grid-template-columns: 1fr;
  }
  .brsm-wallet-withdrawal > .button {
    justify-self: stretch;
  }
}
.brsm-wallet-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 24px 0;
}
.brsm-wallet-actions .brsm-wallet-card {
  display: flex;
  flex-direction: column;
  margin: 0;
  position: relative;
  padding: 28px;
  border-color: #d5e9df;
  background: linear-gradient(145deg, #ffffff 0%, #f2faf6 100%);
  box-shadow: 0 14px 34px rgba(19, 66, 53, 0.08);
  overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
}
.brsm-wallet-actions .brsm-wallet-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: #209b78;
  content: "";
}
.brsm-wallet-actions .brsm-wallet-card:hover {
  box-shadow: 0 18px 40px rgba(19, 66, 53, 0.12);
  transform: translateY(-2px);
}
.brsm-wallet-card h2 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 10px;
  color: #143d31;
  font-size: 21px;
  letter-spacing: 0;
}
.brsm-wallet-card h2 i,
.brsm-wallet-statement h3 i {
  display: grid;
  flex: 0 0 34px;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #e4f5ed;
  color: #209b78;
  font-size: 17px;
}
.brsm-wallet-card p {
  min-height: 29px;
  margin: 0 0 20px;
  color: #607970;
  font-size: 13px;
}
.brsm-wallet-limit-caption i {
  margin-inline-end: 5px;
}
.brsm-wallet-card p strong {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  color: #17654d;
  font-size: 18px;
}
.brsm-wallet-card form {
  display: grid;
  gap: 12px;
  margin-top: auto;
}
.brsm-wallet-card label {
  display: grid;
  gap: 6px;
  color: #526f66;
  font-size: 13px;
}
.brsm-wallet-card input {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #d9ebe3;
  border-radius: 9px;
  background: #fff;
  color: #18332c;
  outline: 0;
  transition: border-color 0.18s, box-shadow 0.18s;
}
.brsm-wallet-card input:focus {
  border-color: #209b78;
  box-shadow: 0 0 0 3px rgba(32, 155, 120, 0.12);
}
.brsm-wallet-card .button {
  justify-self: start;
  min-height: 43px;
  padding: 0 18px;
}
.brsm-wallet-statement {
  margin-top: 0;
  border-color: #d5e9df;
  background: linear-gradient(145deg, #ffffff 0%, #f7fcfa 100%);
}
.brsm-wallet-statement h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 16px;
  color: #143d31;
  font-size: 20px;
}
.brsm-wallet-statement h3 i { flex-basis: 34px; }
.brsm-wallet-statement ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.brsm-wallet-statement li {
  padding: 12px 14px;
  border: 1px solid #e2efe9;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.75);
  color: #526f66;
  font-size: 12px;
  line-height: 1.9;
}
.brsm-wallet-statement li:first-letter {
  color: #17654d;
}
.brsm-wallet-statement > p {
  margin: 18px 0 0;
}
.brsm-wallet-statement > p .button {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 17px;
}
@media (max-width: 700px) {
  .brsm-wallet-actions {
    grid-template-columns: 1fr;
  }
  .brsm-wallet-actions .brsm-wallet-card {
    padding: 24px 20px;
  }
}
.brsm-box strong,
.brsm-result-card strong {
  color: #143d31;
  font-size: 16px;
}
.brsm-box p,
.brsm-result-card p {
  color: #607970;
}
.brsm-box .button.alt,
.brsm-box .button {
  border-radius: 9px !important;
  border: 1px solid #209b78 !important;
  background: #209b78 !important;
  color: #fff !important;
  box-shadow: 0 7px 15px rgba(32, 155, 120, 0.16);
  transition:
    transform 0.18s,
    filter 0.18s !important;
}
.brsm-box .button:hover {
  filter: brightness(0.96);
  transform: translateY(-1px);
}
.brsm-alert,
.brsm-result-card {
  margin: 16px 0;
  padding: 15px 17px;
  border-radius: 13px;
  background: #f5fbf8;
  color: #276650;
}
.brsm-alert-warning {
  border-color: #ead7a3;
  background: #fffaf0;
  color: #80621d;
}
.brsm-alert-error {
  border-color: #efcaca;
  background: #fff6f6;
  color: #963f3f;
}
.brsm-alert-success,
.brsm-result-card.is-success {
  border-color: #bfe5d2;
  background: #effaf4;
  color: #1b6b50;
}
.brsm-result-card.is-refunded {
  border-color: #c7dced;
  background: #f0f7fd;
  color: #245c91;
}
@media (max-width: 560px) {
  .brsm-block-content,
  .brsm-box {
    padding: 16px;
  }
  .brsm-box .button.alt,
  .brsm-box .button {
    width: 100%;
    margin: 4px 0;
  }
}
.brsm-card-choice {
  border: 0;
  margin: 14px 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.brsm-bank-card-option {
  display: block;
  cursor: pointer;
}
.brsm-bank-card-option > input {
  position: absolute;
  opacity: 0;
}
.brsm-bank-card-content,
.brsm-bank-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid #e4e7ec;
  border-radius: 20px;
  padding: 20px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(15, 23, 42, 0.05);
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    transform 0.2s;
}
.brsm-bank-card-option > input:focus-visible + .brsm-bank-card-content {
  outline: 3px solid rgba(32, 155, 120, 0.22);
  outline-offset: 2px;
}
.brsm-bank-card-option > input:checked + .brsm-bank-card-content {
  border-color: #209b78;
  box-shadow: 0 5px 18px rgba(32, 155, 120, 0.12);
}
.brsm-bank-card-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #667085;
}
.brsm-bank-card-top strong {
  color: #101828;
}
.brsm-card-number,
.brsm-bank-card b {
  letter-spacing: 1.5px;
  color: #101828;
}
.brsm-card-holder,
.brsm-bank-card small {
  color: #667085;
}
.brsm-transfer-panel {
  max-width: 720px;
  margin: 24px 0;
  padding: 26px;
  border: 1px solid #e6e9ed;
  border-radius: 26px;
  background: #f8faf9;
}
.brsm-transfer-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}
.brsm-transfer-head h3 {
  margin: 0 0 5px;
  font-size: 18px;
}
.brsm-transfer-head p {
  margin: 0;
  color: #667085;
}
.brsm-step {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #e6f5f0;
  color: #14765b;
  font-weight: 800;
}
.brsm-bank-card {
  margin: 14px 0;
  background: #fff;
}
.brsm-amount-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 2px;
}
.brsm-amount-row strong {
  font-size: 18px;
  color: #101828;
}
.brsm-upload-head {
  margin-top: 22px;
}
.brsm-receipt-form {
  display: grid;
  gap: 14px;
}
.brsm-file-drop {
  min-height: 128px;
  border: 2px dashed #cfd8d4;
  border-radius: 20px;
  background: #fff;
  display: grid;
  place-content: center;
  text-align: center;
  cursor: pointer;
  padding: 20px;
}
.brsm-file-drop:hover {
  border-color: #209b78;
}
.brsm-file-drop input {
  max-width: 100%;
}
.brsm-file-drop span {
  font-weight: 750;
  margin-top: 10px;
}
.brsm-file-drop small {
  color: #667085;
}
.brsm-submit-receipt {
  min-height: 48px !important;
  border-radius: 14px !important;
}
.brsm-alert,
.brsm-result-card {
  padding: 16px 18px;
  border-radius: 16px;
  margin: 14px 0;
}
.brsm-alert-success,
.brsm-result-card.is-success {
  background: #e9f7f1;
  color: #17684f;
}
.brsm-alert-warning {
  background: #fff6df;
  color: #805b13;
}
.brsm-alert-error {
  background: #fff0f0;
  color: #9c2d2d;
}
@media (max-width: 560px) {
  .brsm-transfer-panel {
    padding: 18px;
    border-radius: 20px;
  }
  .brsm-bank-card-top,
  .brsm-amount-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .brsm-card-number,
  .brsm-bank-card b {
    font-size: 15px;
    letter-spacing: 0.6px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .brsm-bank-card-content {
    transition: none;
  }
}

@font-face {
  font-family: "IRANYekan";
  src: url("../fonts/iranyekan-light-(fanum).woff2") format("woff2");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "IRANYekan";
  src: url("../fonts/iranyekan-regular-(fanum).woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "IRANYekan";
  src: url("../fonts/iranyekan-bold-(fanum).woff2") format("woff2");
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
}
/* Modern checkout layer */
.brsm-card-choice {
  gap: 16px;
}
.brsm-bank-card-content {
  padding: 22px 22px 20px;
}
.brsm-bank-card-top {
  align-items: center;
}
.brsm-bank-card-top strong {
  font-size: 15px;
}
.brsm-bank-card-top > span {
  padding: 4px 8px;
  border-radius: 999px;
  color: #387966;
  font-size: 11px;
}
.brsm-card-number,
.brsm-bank-card b {
  margin: 3px 0 0;
  font-size: 19px;
}
.brsm-copy-value {
  min-height: 31px;
  transition:
    background 0.18s,
    border-color 0.18s,
    transform 0.18s;
}
.brsm-copy-value:focus-visible {
  outline: 3px solid rgba(32, 155, 120, 0.24);
  outline-offset: 2px;
}
.brsm-copy-value:hover {
  border-color: #8ecbb4;
  transform: translateY(-1px);
}
.brsm-card-qr {
  margin-top: 2px;
}
.brsm-transfer-panel {
  box-shadow: 0 18px 38px rgba(19, 66, 53, 0.08);
}
.brsm-transfer-head h3 {
  font-size: 19px;
}
.brsm-amount-row span {
  color: #627b73;
  font-size: 13px;
}
.brsm-amount-row strong {
  font-size: 20px;
}
.brsm-file-drop {
  position: relative;
  gap: 3px;
  transition:
    border-color 0.2s,
    background 0.2s,
    box-shadow 0.2s,
    transform 0.2s;
}
.brsm-file-drop:focus-within {
  border-color: #209b78;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(32, 155, 120, 0.1);
}
.brsm-file-drop:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(19, 66, 53, 0.06);
}
.brsm-file-drop span {
  color: #17684f;
}
.brsm-submit-receipt {
  background: #209b78 !important;
  color: #fff !important;
  border: 1px solid #209b78 !important;
  transition:
    filter 0.2s,
    transform 0.2s,
    box-shadow 0.2s;
}
.brsm-submit-receipt:hover {
  filter: brightness(0.96);
  transform: translateY(-1px);
  box-shadow: 0 11px 24px rgba(32, 155, 120, 0.24);
}
.brsm-alert,
.brsm-result-card {
  border: 1px solid rgba(32, 155, 120, 0.12);
  box-shadow: 0 7px 18px rgba(19, 66, 53, 0.04);
}
@media (max-width: 560px) {
  .brsm-bank-card-content {
    padding: 18px;
  }
  .brsm-card-number,
  .brsm-bank-card b {
    font-size: 16px;
  }
  .brsm-card-qr {
    align-self: center;
  }
  .brsm-submit-receipt {
    width: 100%;
  }
}
.brsm-card-choice,
.brsm-block-content,
.brsm-transfer-panel,
.brsm-alert,
.brsm-result-card {
  font-family: "IRANYekan", Tahoma, sans-serif;
}
.brsm-card-choice,
.brsm-card-choice *,
.brsm-block-content,
.brsm-block-content *,
.brsm-transfer-panel,
.brsm-transfer-panel *,
.brsm-box,
.brsm-box *,
.brsm-alert,
.brsm-alert *,
.brsm-result-card,
.brsm-result-card * {
  font-family: "IRANYekan", Tahoma, sans-serif;
}
.brsm-copy-value {
  align-self: flex-start;
  padding: 5px 9px;
  border: 1px solid #cfe4da;
  border-radius: 8px;
  background: #f4fbf7;
  color: #17684f;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.brsm-copy-value:hover {
  background: #e5f6ee;
}
.brsm-card-qr {
  align-self: flex-end;
  width: 120px;
  height: 120px;
  border: 6px solid #fff;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(19, 66, 53, 0.12);
}
.brsm-card-choice h1,
.brsm-card-choice h2,
.brsm-card-choice h3,
.brsm-card-choice h4,
.brsm-block-content h1,
.brsm-block-content h2,
.brsm-block-content h3,
.brsm-transfer-panel h1,
.brsm-transfer-panel h2,
.brsm-transfer-panel h3,
.brsm-box h1,
.brsm-box h2,
.brsm-box h3,
.brsm-alert h1,
.brsm-alert h2,
.brsm-alert h3,
.brsm-result-card h1,
.brsm-result-card h2,
.brsm-result-card h3 {
  font-family: "IRANYekan", Tahoma, sans-serif !important;
}
.brsm-card-choice {
  gap: 14px;
}
.brsm-bank-card-content,
.brsm-bank-card {
  position: relative;
  overflow: hidden;
  border-color: #d9e7e1;
  border-radius: 16px;
  padding: 21px;
  background: linear-gradient(145deg, #fff 0%, #f7fcfa 100%);
  box-shadow: 0 10px 26px rgba(19, 66, 53, 0.07);
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    transform 0.2s;
}
.brsm-bank-card-content:before,
.brsm-bank-card:before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: #d9eee5;
}
.brsm-bank-card-option:hover .brsm-bank-card-content,
.brsm-bank-card:hover {
  transform: translateY(-2px);
  border-color: #a9d5c5;
  box-shadow: 0 14px 30px rgba(19, 66, 53, 0.11);
}
.brsm-bank-card-option > input:checked + .brsm-bank-card-content {
  border-color: #209b78;
  background: linear-gradient(145deg, #fff 0%, #f0fbf6 100%);
  box-shadow: 0 12px 28px rgba(32, 155, 120, 0.16);
}
.brsm-bank-card-option > input:checked + .brsm-bank-card-content:before {
  background: #209b78;
}
.brsm-bank-card-top {
  color: #627b73;
}
.brsm-bank-card-top strong,
.brsm-card-number,
.brsm-bank-card b,
.brsm-amount-row strong {
  color: #14322a;
}
.brsm-card-number,
.brsm-bank-card b {
  font-size: 17px;
}
.brsm-transfer-panel {
  max-width: 740px;
  margin: 28px 0;
  padding: 28px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border-color: #d8e8e1;
  border-radius: 19px;
  background:
    radial-gradient(circle at 100% 0%, #e1f5eb, transparent 15rem), #f4faf7;
  box-shadow: 0 12px 30px rgba(19, 66, 53, 0.06);
}
.brsm-transfer-panel,
.brsm-transfer-panel *,
.brsm-transfer-panel *::before,
.brsm-transfer-panel *::after {
  box-sizing: border-box;
  max-width: 100%;
}
.brsm-transfer-panel .brsm-thankyou-cards {
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
}
.brsm-transfer-panel .brsm-bank-card,
.brsm-transfer-panel .brsm-receipt-upload-panel,
.brsm-transfer-panel .brsm-amount-row {
  min-width: 0;
  overflow-wrap: anywhere;
}
.brsm-transfer-head h3 {
  color: #14322a;
}
.brsm-transfer-head p,
.brsm-card-holder,
.brsm-bank-card small {
  color: #627b73;
}
.brsm-step {
  background: #d9f3e7;
  color: #14765b;
  border-radius: 10px;
}
.brsm-amount-row {
  margin-top: 20px;
  padding: 16px 0;
  border-top: 1px solid #dcebe5;
  border-bottom: 1px solid #dcebe5;
}
.brsm-file-drop {
  border-color: #b8d6ca;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.78);
  transition:
    border-color 0.2s,
    background 0.2s;
}
.brsm-file-drop:hover {
  border-color: #209b78;
  background: #fff;
}
.brsm-submit-receipt {
  box-shadow: 0 8px 18px rgba(32, 155, 120, 0.18);
}
.brsm-result-card.is-success {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  overflow: hidden;
  max-width: 740px;
  margin: 28px 0;
  padding: 22px 24px;
  border: 1px solid #bfe5d2;
  border-radius: 20px;
  background: linear-gradient(135deg, #f7fffb 0%, #e6f7ef 100%);
  box-shadow: 0 16px 34px rgba(19, 66, 53, 0.1);
  animation: brsm-result-reveal 0.45s ease-out both;
}
.brsm-result-card.is-success:before {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 5px;
  background: #209b78;
  content: "";
}
.brsm-result-card.is-success .brsm-result-icon {
  display: grid;
  flex: 0 0 52px;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid #9dd9be;
  border-radius: 16px;
  background: #d1f1e1;
  color: #16845f;
  font-size: 27px;
  box-shadow: 0 8px 16px rgba(32, 155, 120, 0.16);
}
.brsm-result-card.is-success .brsm-result-content {
  min-width: 0;
}
.brsm-result-card.is-success strong {
  display: block;
  margin: 0;
  color: #123f31;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.6;
}
.brsm-result-card.is-success p {
  margin: 3px 0 0;
  color: #54766b;
  font-size: 13px;
  line-height: 1.9;
}
@keyframes brsm-result-reveal {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 560px) {
  .brsm-result-card.is-success {
    align-items: flex-start;
    gap: 12px;
    margin: 20px 0;
    padding: 18px 17px;
  }
  .brsm-result-card.is-success .brsm-result-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    font-size: 23px;
  }
  .brsm-result-card.is-success strong {
    font-size: 16px;
  }
  .brsm-result-card.is-success p {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .brsm-result-card.is-success {
    animation: none;
  }
}
.brsm-alert {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 13px;
  max-width: 740px;
  margin: 20px 0;
  padding: 17px 19px;
  border: 1px solid;
  border-inline-start-width: 4px;
  border-radius: 17px;
  box-shadow: 0 10px 24px rgba(19, 66, 53, 0.07);
}
.brsm-alert-icon {
  flex: 0 0 auto;
  margin-top: 3px;
  font-size: 20px;
  line-height: 1;
}
.brsm-alert > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}
.brsm-alert strong {
  color: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.7;
}
.brsm-alert small {
  color: inherit;
  font-size: 12px;
  line-height: 1.9;
  opacity: 0.82;
}
.brsm-alert-success {
  border-color: #a9ddc7;
  border-inline-start-color: #209b78;
  background: linear-gradient(135deg, #f5fdf8, #e6f7ef);
  color: #17684f;
}
.brsm-alert-warning {
  border-color: #ead39a;
  border-inline-start-color: #d39b22;
  background: linear-gradient(135deg, #fffdf6, #fff6df);
  color: #805b13;
}
.brsm-alert-error {
  border-color: #efc4c4;
  border-inline-start-color: #d45353;
  background: linear-gradient(135deg, #fffafa, #fff0f0);
  color: #963434;
}
.brsm-result-card.is-refunded {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  overflow: hidden;
  max-width: 740px;
  margin: 28px 0;
  padding: 22px 24px;
  border: 1px solid #c7dced;
  border-inline-start: 5px solid #4b91c4;
  border-radius: 20px;
  background: linear-gradient(135deg, #f8fbff 0%, #eaf4fc 100%);
  box-shadow: 0 16px 34px rgba(36, 92, 145, 0.1);
  animation: brsm-result-reveal 0.45s ease-out both;
}
.brsm-result-card.is-refunded .brsm-result-icon {
  display: grid;
  flex: 0 0 52px;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid #afd0e7;
  border-radius: 16px;
  background: #dceefa;
  color: #3275a8;
  font-size: 25px;
  box-shadow: 0 8px 16px rgba(36, 92, 145, 0.13);
}
.brsm-result-card.is-refunded strong {
  display: block;
  margin: 0;
  color: #245c91;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.6;
}
.brsm-result-card.is-refunded p {
  margin: 3px 0 0;
  color: #5f7d98;
  font-size: 13px;
  line-height: 1.9;
}
.brsm-refund-request {
  position: relative;
  overflow: hidden;
  max-width: 740px;
  margin: 28px 0 !important;
  padding: 23px 24px !important;
  border: 1px solid #cfe5dc !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #fbfffd 0%, #eef8f3 100%) !important;
  box-shadow: 0 16px 34px rgba(19, 66, 53, 0.09) !important;
}
.brsm-refund-request:before {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 5px;
  background: #159a73;
  content: "";
}
.brsm-refund-request-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.brsm-refund-request-icon {
  display: grid;
  flex: 0 0 46px;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid #a9d8c4;
  border-radius: 14px;
  background: #dff4e9;
  color: #14765b;
  font-size: 22px;
}
.brsm-refund-request-head strong {
  display: block !important;
  margin: 0 !important;
  color: #123f31 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.6;
}
.brsm-refund-request form {
  display: grid;
  gap: 14px;
}
.brsm-refund-reason {
  display: grid;
  gap: 7px;
  color: #527267;
  font-size: 12px;
  font-weight: 700;
}
.brsm-refund-request textarea {
  width: 100%;
  min-height: 112px !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 13px 14px;
  border: 1px solid #c9dfd5 !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, 0.84) !important;
  color: #18332c;
  font: inherit;
  font-size: 13px;
  line-height: 1.9;
  resize: vertical;
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    background 0.2s;
}
.brsm-refund-request textarea::placeholder {
  color: #8aa39a;
}
.brsm-refund-request textarea:focus {
  border-color: #159a73 !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(21, 154, 115, 0.12) !important;
  outline: 0;
}
.brsm-refund-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  border: 0 !important;
  border-radius: 12px !important;
  background: #159a73 !important;
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 9px 20px rgba(21, 154, 115, 0.2);
  transition:
    transform 0.2s,
    filter 0.2s,
    box-shadow 0.2s;
}
.brsm-refund-submit:hover {
  filter: brightness(0.96);
  transform: translateY(-2px);
  box-shadow: 0 13px 25px rgba(21, 154, 115, 0.27);
}
@media (max-width: 560px) {
  .brsm-alert {
    gap: 10px;
    margin: 16px 0;
    padding: 15px 16px;
  }
  .brsm-alert-icon {
    font-size: 18px;
  }
  .brsm-alert strong,
  .brsm-alert small {
    font-size: 12px;
  }
  .brsm-result-card.is-refunded {
    align-items: flex-start;
    gap: 12px;
    margin: 20px 0;
    padding: 18px 17px;
  }
  .brsm-result-card.is-refunded .brsm-result-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    font-size: 22px;
  }
  .brsm-result-card.is-refunded strong {
    font-size: 16px;
  }
  .brsm-result-card.is-refunded p {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .brsm-result-card.is-refunded {
    animation: none;
  }
}
.brsm-linking {
  position: relative;
  box-sizing: border-box;
  max-width: 740px;
  margin: 24px 0;
  color: #18332c;
  line-height: 1.9;
}
.brsm-linking-notice,
.brsm-linking-connected {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 22px;
  border: 1px solid;
  border-inline-start: 5px solid;
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(19, 66, 53, 0.08);
}
.brsm-linking-notice {
  border-color: #ead39a;
  border-inline-start-color: #d39b22;
  background: linear-gradient(135deg, #fffdf7, #fff5dc);
  color: #805b13;
}
.brsm-linking-connected {
  align-items: center;
  border-color: #a9ddc7;
  border-inline-start-color: #159a73;
  background: linear-gradient(135deg, #f8fffb, #e5f7ee);
  color: #17684f;
}
.brsm-linking-mark {
  display: grid;
  flex: 0 0 44px;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid currentColor;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.55);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}
.brsm-linking-notice strong,
.brsm-linking-connected strong {
  display: block;
  color: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.7;
}
.brsm-linking-notice p,
.brsm-linking-connected p {
  margin: 2px 0 0;
  color: inherit;
  font-size: 12px;
  opacity: 0.82;
}
.brsm-linking-badge {
  margin-inline-start: auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: #cceedd;
  color: #17684f;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.brsm-linking-connect {
  overflow: hidden;
  padding: 26px 28px;
  border: 1px solid #cfe5dc;
  border-radius: 22px;
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(159, 226, 195, 0.45),
      transparent 15rem
    ),
    linear-gradient(135deg, #fbfffd, #edf8f3);
  box-shadow: 0 18px 40px rgba(19, 66, 53, 0.1);
}
.brsm-linking-connect:before {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 5px;
  background: #159a73;
  content: "";
}
.brsm-linking-head {
  display: flex;
  align-items: center;
  gap: 14px;
}
.brsm-linking-head .brsm-linking-mark {
  background: #d9f3e7;
  color: #14765b;
  border-color: #a9d8c4;
}
.brsm-linking-eyebrow {
  display: block;
  margin-bottom: 2px;
  color: #668078;
  font-size: 10px;
  font-weight: 800;
}
.brsm-linking-head h2 {
  margin: 0;
  color: #123f31;
  font-size: 21px;
  font-weight: 900;
  line-height: 1.6;
}
.brsm-linking-intro {
  max-width: 600px;
  margin: 18px 0;
  color: #55756b;
  font-size: 13px;
  line-height: 2;
}
.brsm-linking-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 10px 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #159a73 !important;
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(21, 154, 115, 0.22);
  transition:
    transform 0.2s,
    filter 0.2s,
    box-shadow 0.2s;
}
.brsm-linking-button:hover {
  filter: brightness(0.96);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(21, 154, 115, 0.28);
}
.brsm-linking-button span {
  font-size: 18px;
  line-height: 1;
}
.brsm-linking-code {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #d8eae1;
  color: #668078;
  font-size: 11px;
}
.brsm-linking-code code {
  direction: ltr;
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #b9dccb;
  border-radius: 8px;
  background: #fff;
  color: #17684f;
  font: 700 13px/1.2 monospace;
  letter-spacing: 1.5px;
}
@media (max-width: 560px) {
  .brsm-linking-notice,
  .brsm-linking-connected {
    gap: 10px;
    padding: 16px;
  }
  .brsm-linking-mark {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 19px;
  }
  .brsm-linking-notice strong,
  .brsm-linking-connected strong {
    font-size: 13px;
  }
  .brsm-linking-notice p,
  .brsm-linking-connected p {
    font-size: 11px;
  }
  .brsm-linking-connected {
    flex-wrap: wrap;
  }
  .brsm-linking-badge {
    margin-inline-start: 48px;
    margin-top: -4px;
  }
  .brsm-linking-connect {
    padding: 20px 18px;
    border-radius: 18px;
  }
  .brsm-linking-head h2 {
    font-size: 18px;
  }
  .brsm-linking-intro {
    margin: 14px 0;
    font-size: 12px;
  }
  .brsm-linking-button {
    width: 100%;
    font-size: 12px;
  }
  .brsm-linking-code {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .brsm-linking-button {
    transition: none;
  }
  .brsm-linking-button:hover {
    transform: none;
  }
}
@media (max-width: 560px) {
  .brsm-refund-request {
    margin: 20px 0 !important;
    padding: 18px 17px !important;
  }
  .brsm-refund-request-head {
    gap: 11px;
    margin-bottom: 16px;
  }
  .brsm-refund-request-icon {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    font-size: 20px;
  }
  .brsm-refund-request-head strong {
    font-size: 15px !important;
  }
  .brsm-refund-request textarea {
    min-height: 105px !important;
    font-size: 12px;
  }
  .brsm-refund-submit {
    min-height: 46px;
  }
}
.brsm-refund-feedback {
  --brsm-feedback-accent: #159a73;
  --brsm-feedback-border: #a9ddc7;
  --brsm-feedback-start: #f6fdf9;
  --brsm-feedback-end: #e6f7ef;
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 740px;
  margin: 22px 0;
  padding: 17px 20px;
  border: 1px solid var(--brsm-feedback-border);
  border-inline-start: 5px solid var(--brsm-feedback-accent);
  border-radius: 17px;
  background: linear-gradient(
    135deg,
    var(--brsm-feedback-start),
    var(--brsm-feedback-end)
  );
  box-shadow: 0 12px 28px rgba(19, 66, 53, 0.09);
  color: #17684f;
  animation: brsm-feedback-reveal 0.35s ease-out both;
}
.brsm-refund-feedback:before {
  display: grid;
  flex: 0 0 43px;
  place-items: center;
  width: 43px;
  height: 43px;
  border: 1px solid #9dd9be;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.6);
  color: var(--brsm-feedback-accent);
  font: 20px/1 bootstrap-icons;
}
.brsm-refund-feedback.is-requested {
  --brsm-feedback-accent: #bd841b;
  --brsm-feedback-border: #ead39a;
  --brsm-feedback-start: #fffdf7;
  --brsm-feedback-end: #fff5dc;
  color: #805b13;
}
.brsm-refund-feedback.is-requested:before {
  content: "\f293";
  border-color: #e4c77d;
  background: #fff7df;
}
.brsm-refund-feedback.is-approved:before {
  content: "\f26a";
}
.brsm-refund-feedback.is-rejected {
  --brsm-feedback-accent: #c64f4f;
  --brsm-feedback-border: #efc4c4;
  --brsm-feedback-start: #fffafa;
  --brsm-feedback-end: #fff0f0;
  color: #963434;
}
.brsm-refund-feedback.is-rejected:before {
  content: "\f623";
  border-color: #e4aaaa;
  background: #ffeaea;
}
.brsm-refund-feedback.is-refunded {
  --brsm-feedback-accent: #3d83b6;
  --brsm-feedback-border: #c7dced;
  --brsm-feedback-start: #f8fbff;
  --brsm-feedback-end: #eaf4fc;
  color: #245c91;
}
.brsm-refund-feedback.is-refunded:before {
  content: "\f632";
  border-color: #afd0e7;
  background: #dceefa;
}
.brsm-refund-feedback .woocommerce-message,
.brsm-refund-feedback .woocommerce-info,
.brsm-refund-feedback .woocommerce-error {
  flex: 1;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  font:
    700 13px/1.9 "IRANYekan",
    Tahoma,
    sans-serif;
  text-align: start;
}
.brsm-refund-feedback .woocommerce-message:before,
.brsm-refund-feedback .woocommerce-info:before,
.brsm-refund-feedback .woocommerce-error:before {
  display: none !important;
  content: none !important;
}
.brsm-refund-feedback ul,
.brsm-refund-feedback li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
@keyframes brsm-feedback-reveal {
  from {
    opacity: 0;
    transform: translateY(7px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 560px) {
  .brsm-refund-feedback {
    align-items: flex-start;
    gap: 11px;
    margin: 16px 0;
    padding: 15px 16px;
    border-radius: 15px;
  }
  .brsm-refund-feedback:before {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    font-size: 18px;
  }
  .brsm-refund-feedback .woocommerce-message,
  .brsm-refund-feedback .woocommerce-info,
  .brsm-refund-feedback .woocommerce-error {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .brsm-refund-feedback {
    animation: none;
  }
}

/* Donation page */
.brsm-donation-shell {
  --brsm-donation-ink: #12352d;
  --brsm-donation-muted: #668078;
  --brsm-donation-line: #d9e9e2;
  max-width: 980px;
  margin: 28px auto;
  color: var(--brsm-donation-ink);
  font-family: "IRANYekan", Tahoma, sans-serif;
}
.brsm-donation-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 220px;
  overflow: hidden;
  padding: 38px 42px;
  border-radius: 28px;
  background: linear-gradient(122deg, #0e3129 0%, #176b52 58%, #0a2526 100%);
  color: #effff8;
  box-shadow: 0 24px 52px rgba(13, 59, 45, 0.2);
}
.brsm-donation-hero:before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 32px 32px;
  content: "";
  opacity: 0.55;
  pointer-events: none;
}
.brsm-donation-hero:after {
  position: absolute;
  inset: auto -74px -144px auto;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(191, 255, 228, 0.2);
  border-radius: 50%;
  box-shadow:
    0 0 0 22px rgba(191, 255, 228, 0.04),
    0 0 0 46px rgba(191, 255, 228, 0.025);
  content: "";
  pointer-events: none;
}
.brsm-donation-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 650px;
}
.brsm-donation-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 13px;
  color: #a4efd0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2px;
}
.brsm-donation-kicker:before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #78e2b8;
  box-shadow: 0 0 0 5px rgba(120, 226, 184, 0.13);
  content: "";
}
.brsm-donation-hero h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.35;
}
.brsm-donation-hero p {
  max-width: 600px;
  margin: 0;
  color: #c2e0d4;
  font-size: 14px;
  line-height: 2.05;
}
.brsm-donation-hero-mark {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  flex: 0 0 76px;
  width: 76px;
  height: 76px;
  border: 1px solid rgba(207, 255, 237, 0.35);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.1);
  color: #b9f5da;
  font-size: 31px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 14px 30px rgba(5, 34, 26, 0.16);
  transform: rotate(-7deg);
}
.brsm-donation-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  gap: 18px;
  margin-top: 18px;
}
.brsm-donation-form-panel,
.brsm-donation-aside {
  border: 1px solid var(--brsm-donation-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(19, 66, 53, 0.07);
}
.brsm-donation-form-panel {
  padding: 30px;
}
.brsm-donation-panel-head {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 27px;
  padding-bottom: 20px;
  border-bottom: 1px solid #edf4f0;
}
.brsm-donation-panel-head h3 {
  margin: 0 0 4px;
  color: var(--brsm-donation-ink);
  font-size: 18px;
  font-weight: 900;
}
.brsm-donation-panel-head p {
  margin: 0;
  color: var(--brsm-donation-muted);
  font-size: 12px;
}
.brsm-donation-step {
  display: grid;
  place-items: center;
  flex: 0 0 37px;
  width: 37px;
  height: 37px;
  border-radius: 12px;
  background: #e0f6eb;
  color: #167455;
  font-size: 14px;
  font-weight: 900;
}
.brsm-donation-form {
  display: grid;
  gap: 16px;
}
.brsm-donation-amount-field {
  display: grid;
  gap: 9px;
}
.brsm-donation-amount-field label {
  color: var(--brsm-donation-ink);
  font-size: 12px;
  font-weight: 800;
}
.brsm-donation-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.brsm-donation-amount-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.brsm-donation-amount-row .brsm-donation-input-wrap {
  flex: 1;
  min-width: 0;
}
.brsm-donation-input-wrap input {
  width: 100%;
  min-height: 66px;
  box-sizing: border-box;
  padding: 8px 18px 8px 72px;
  border: 1px solid #cfe3da;
  border-radius: 15px;
  background: #fbfefc;
  color: var(--brsm-donation-ink);
  font:
    800 25px/1.2 "IRANYekan",
    Tahoma,
    sans-serif;
  direction: ltr;
  text-align: right;
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    background 0.2s;
}
.brsm-donation-input-wrap input:focus {
  border-color: #209b78;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(32, 155, 120, 0.12);
  outline: 0;
}
.brsm-donation-input-wrap input::-webkit-inner-spin-button {
  margin-left: 4px;
}
.brsm-donation-input-wrap span {
  position: absolute;
  left: 18px;
  color: #719187;
  font-size: 12px;
  font-weight: 800;
  pointer-events: none;
}
.brsm-donation-mood-wrap {
  position: relative;
  display: block;
  flex: 0 0 96px;
  width: 96px;
  height: 66px;
}
.brsm-donation-mood {
  display: grid;
  place-items: center;
  width: 68px;
  height: 66px;
  margin: 0 auto;
  border: 1px solid #cfe3da;
  border-radius: 16px;
  background: linear-gradient(145deg, #fffdf1, #fff5c9);
  line-height: 1;
  box-shadow: 0 8px 18px rgba(180, 145, 41, 0.12);
}
.brsm-donation-mood-tip {
  position: absolute;
  right: 50%;
  bottom: calc(100% + 9px);
  display: block;
  width: 150px;
  box-sizing: border-box;
  padding: 7px 6px;
  border: 1px solid #ecdca1;
  border-radius: 10px;
  background: #fff;
  color: #735f22;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
  white-space: normal;
  transform: translateX(50%);
}
.brsm-donation-mood-tip:after {
  position: absolute;
  right: 50%;
  bottom: -6px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #ecdca1;
  border-bottom: 1px solid #ecdca1;
  background: #fff;
  content: "";
  transform: translateX(50%) rotate(45deg);
}
.brsm-donation-mood-face {
  font-size: 32px;
}
.brsm-donation-toman {
  color: #4d7668;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
}
.brsm-donation-amount-error {
  color: #b42318;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
}
.brsm-donation-amount-error[hidden] {
  display: none;
}
.brsm-donation-input-wrap input[aria-invalid="true"] {
  border-color: #d92d20;
}
.brsm-donation-range {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--brsm-donation-muted);
  font-size: 11px;
  line-height: 1.8;
}
.brsm-donation-range i {
  color: #209b78;
  font-size: 14px;
}
.brsm-donation-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 53px;
  margin-top: 5px;
  padding: 10px 18px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #209b78, #147b5b);
  color: #fff;
  font:
    800 13px "IRANYekan",
    Tahoma,
    sans-serif;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(32, 155, 120, 0.2);
  transition:
    transform 0.2s,
    box-shadow 0.2s,
    filter 0.2s;
}
.brsm-donation-submit i {
  font-size: 17px;
}
.brsm-donation-submit:hover {
  filter: brightness(1.03);
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(32, 155, 120, 0.27);
}
.brsm-donation-submit:focus-visible {
  outline: 3px solid rgba(32, 155, 120, 0.2);
  outline-offset: 3px;
}
.brsm-donation-aside {
  padding: 30px;
  background: linear-gradient(145deg, #f8fdfb, #eaf7f0);
}
.brsm-donation-aside-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 21px;
  border: 1px solid #b9e2cf;
  border-radius: 15px;
  background: #dff5e9;
  color: #16845f;
  font-size: 22px;
}
.brsm-donation-aside h3 {
  margin: 0 0 9px;
  color: var(--brsm-donation-ink);
  font-size: 17px;
  font-weight: 900;
}
.brsm-donation-aside p {
  margin: 0;
  color: #5d796f;
  font-size: 12px;
  line-height: 2;
}
.brsm-donation-aside ul {
  display: grid;
  gap: 12px;
  margin: 23px 0 0;
  padding: 19px 0 0;
  border-top: 1px solid #d5eae0;
  list-style: none;
}
.brsm-donation-aside li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #326b57;
  font-size: 11px;
  font-weight: 800;
}
.brsm-donation-aside li i {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 7px;
  background: #d5f0e2;
  color: #16845f;
  font-size: 12px;
}
.brsm-donation-footnote {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 16px 2px 0;
  color: #78938a;
  font-size: 10px;
}
.brsm-donation-footnote i {
  color: #209b78;
  font-size: 13px;
}
.brsm-donation-card-choice {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  border: 0;
  padding: 0;
}
.brsm-donation-card-choice[hidden] {
  display: none;
}
.brsm-donation-card-choice legend {
  width: 100%;
  margin-bottom: 2px;
  color: #36574c;
  font-size: 12px;
  font-weight: 800;
}
.brsm-donation-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
}
.brsm-donation-card-grid .brsm-bank-card-option {
  display: block;
  cursor: pointer;
}
.brsm-donation-card-grid .brsm-bank-card-content {
  display: block;
  width: 100% !important;
  height: 270px !important;
  min-height: 270px !important;
  box-sizing: border-box;
  overflow: hidden;
  padding: 20px !important;
  border-radius: 18px !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.brsm-donation-card-grid .brsm-bank-card-top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 10px;
}
.brsm-donation-card-grid .brsm-card-number {
  font-size: 17px !important;
  white-space: nowrap !important;
  word-break: normal !important;
  direction: ltr;
  text-align: right;
  line-height: 1.25;
}
.brsm-donation-card-grid .brsm-card-value-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  margin-top: 20px;
}
.brsm-donation-card-grid .brsm-card-value-row small {
  color: #f4fff9 !important;
  white-space: nowrap;
}
.brsm-donation-card-grid .brsm-copy-value {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 7px;
  font-size: 10px;
  cursor: pointer;
}
.brsm-donation-card-grid .brsm-card-holder {
  display: block;
  margin-top: 22px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.brsm-donation-card-panel .brsm-receipt-form {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.brsm-donation-card-grid .brsm-card-value-row {
  display: grid !important;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 7px;
  margin-top: 16px;
}
.brsm-donation-card-grid .brsm-card-number {
  display: block;
  width: 100%;
  margin: 0 !important;
  text-align: center;
  white-space: nowrap !important;
}
.brsm-donation-card-grid .brsm-card-value-row small {
  display: block;
  width: 100%;
  text-align: center;
}
.brsm-donation-card-grid .brsm-card-value-row .brsm-copy-value {
  justify-self: center;
}
.brsm-donation-card-grid .brsm-bank-card-content {
  display: flex !important;
  flex-direction: column !important;
  height: 320px !important;
  min-height: 320px !important;
  gap: 8px;
  overflow: hidden;
}
.brsm-donation-card-grid .brsm-card-value-row {
  flex: 0 0 auto;
  margin-top: 8px !important;
}
.brsm-donation-card-grid .brsm-card-value-row small {
  font-size: 11px !important;
  line-height: 1.5;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
.brsm-donation-card-grid .brsm-card-holder {
  margin-top: auto !important;
  padding-top: 8px;
  line-height: 1.6;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.brsm-donation-card-grid .brsm-card-value-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}
.brsm-donation-card-grid .brsm-card-value-row small {
  display: block !important;
  width: 100% !important;
  min-width: 220px !important;
  max-width: 100% !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  direction: ltr !important;
  unicode-bidi: plaintext !important;
  white-space: normal !important;
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
}
.brsm-donation-card-grid .brsm-bank-card-content:after {
  display: none !important;
}
.brsm-donation-card-grid .brsm-card-number {
  font-size: 15px !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  overflow: visible !important;
}
.brsm-donation-card-grid .brsm-card-value-row .brsm-copy-value {
  min-height: 25px !important;
  padding: 3px 7px !important;
  font-size: 9px !important;
  line-height: 1.3 !important;
}
.brsm-donation-card-grid .brsm-card-holder {
  display: block !important;
  flex: 0 0 auto !important;
  min-height: 20px;
  color: #f4fff9 !important;
  font-size: 12px !important;
  visibility: visible !important;
}
.brsm-donation-card-grid .brsm-bank-card-content {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 18px !important;
  overflow: hidden !important;
}
.brsm-donation-card-grid .brsm-card-number {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  direction: ltr !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}
.brsm-donation-card-grid .brsm-card-value-row {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.brsm-donation-card-grid .brsm-card-value-row small {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 2px;
  font-size: 9px !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  direction: ltr !important;
  text-align: center !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}
.brsm-donation-card-grid .brsm-card-holder {
  position: absolute !important;
  right: 18px !important;
  bottom: 14px !important;
  left: 18px !important;
  width: auto !important;
  margin: 0 !important;
  min-height: 0 !important;
  text-align: center !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.brsm-donation-card-grid .brsm-card-value-row:nth-of-type(2) {
  margin-bottom: 34px !important;
}
@media (max-width: 720px) {
  .brsm-donation-shell {
    margin: 18px 0;
  }
  .brsm-donation-hero {
    min-height: 0;
    padding: 29px 24px;
    border-radius: 22px;
  }
  .brsm-donation-hero h2 {
    font-size: 26px;
  }
  .brsm-donation-hero p {
    font-size: 12px;
  }
  .brsm-donation-hero-mark {
    flex-basis: 58px;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    font-size: 24px;
  }
  .brsm-donation-layout {
    grid-template-columns: 1fr;
  }
  .brsm-donation-form-panel,
  .brsm-donation-aside {
    padding: 23px;
    border-radius: 18px;
  }
}
.brsm-donation-receipt-card {
  position: relative;
  display: grid;
  gap: 14px;
  max-width: 400px;
  margin: 18px auto 22px;
  padding: 22px 24px;
  border: 1px solid rgba(140, 228, 193, 0.55);
  border-radius: 18px;
  background: linear-gradient(135deg, #10151b 0%, #20262f 55%, #0c1015 100%);
  color: #f4fff9;
  box-shadow:
    0 16px 32px rgba(8, 42, 33, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
  overflow: hidden;
}
.brsm-donation-receipt-card:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    115deg,
    transparent 28%,
    rgba(255, 255, 255, 0.07) 48%,
    transparent 66%
  );
  pointer-events: none;
}
.brsm-donation-receipt-card > * {
  position: relative;
  z-index: 1;
}
.brsm-donation-receipt-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.brsm-donation-receipt-card-top strong {
  color: #fff;
  font-size: 16px;
}
.brsm-donation-receipt-card-top span {
  color: #c5d1d9;
  font-size: 12px;
}
.brsm-donation-receipt-card-number {
  width: 100%;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 1px;
  text-align: center;
  white-space: nowrap;
}
.brsm-donation-receipt-card-iban {
  display: grid;
  gap: 4px;
  justify-items: center;
  color: #d5e2e8;
  font-size: 10px;
}
.brsm-donation-receipt-card-iban span {
  font-size: 10px;
  color: #aebdc7;
}
.brsm-donation-receipt-card-iban b {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2px;
  white-space: nowrap;
}
.brsm-donation-receipt-card-holder {
  display: flex;
  justify-content: center;
  gap: 7px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: #c5d1d9;
  font-size: 12px;
}
.brsm-donation-receipt-card-holder strong {
  color: #fff;
}
.brsm-donation-card-panel .brsm-amount-row {
  margin-top: 0 !important;
}
@media (max-width: 430px) {
  .brsm-donation-hero {
    padding: 24px 19px;
  }
  .brsm-donation-hero-mark {
    display: none;
  }
  .brsm-donation-hero h2 {
    font-size: 23px;
  }
  .brsm-donation-hero p {
    line-height: 1.9;
  }
  .brsm-donation-form-panel,
  .brsm-donation-aside {
    padding: 19px;
  }
  .brsm-donation-input-wrap input {
    min-height: 60px;
    font-size: 21px;
    padding-left: 64px;
  }
  .brsm-donation-card-grid .brsm-bank-card-content {
    height: 300px !important;
    min-height: 300px !important;
    padding: 17px !important;
  }
  .brsm-donation-card-grid .brsm-card-number {
    font-size: 15px !important;
    letter-spacing: 1px !important;
  }
  .brsm-donation-card-grid .brsm-card-value-row small {
    font-size: 10px !important;
  }
  .brsm-donation-footnote {
    align-items: flex-start;
    line-height: 1.8;
  }
}
@media (prefers-reduced-motion: reduce) {
  .brsm-donation-input-wrap input,
  .brsm-donation-submit {
    transition: none;
  }
  .brsm-donation-submit:hover {
    transform: none;
  }
}
.brsm-donation-submit {
  position: relative;
  overflow: hidden;
  min-height: 58px;
  margin-top: 8px;
  border: 1px solid #0d684d;
  background: linear-gradient(110deg, #0d6f51 0%, #159a73 52%, #0b634b 100%);
  color: #fff !important;
  box-shadow:
    0 12px 24px rgba(13, 111, 81, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
  font-size: 14px;
  letter-spacing: 0.1px;
  border-radius: 10px !important;
}
.brsm-donation-submit:before {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 20%,
    rgba(255, 255, 255, 0.18) 49%,
    transparent 68%
  );
  content: "";
  transform: translateX(-120%);
  transition: transform 0.55s ease;
}
.brsm-donation-submit span {
  position: relative;
  z-index: 1;
  color: #fff !important;
}
.brsm-donation-submit i {
  position: relative;
  z-index: 1;
  color: #fff !important;
}
.brsm-donation-submit i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.13);
  font-size: 15px;
  transition:
    transform 0.2s,
    background 0.2s;
}
.brsm-donation-submit:hover {
  filter: none;
  background: linear-gradient(110deg, #0b6249 0%, #128d69 52%, #095740 100%);
  box-shadow:
    0 16px 31px rgba(13, 111, 81, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}
.brsm-donation-card-grid .brsm-card-value-row:nth-of-type(2) {
  margin-bottom: 0 !important;
}
.brsm-donation-card-grid .brsm-card-value-row {
  flex: 0 0 auto;
  margin-top: 2px !important;
}
.brsm-donation-card-grid .brsm-card-holder {
  position: absolute !important;
  right: 59px !important;
  bottom: 14px !important;
  left: 18px !important;
  width: auto !important;
  margin: 0 !important;
  min-height: 0 !important;
  text-align: center !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.brsm-donation-submit:hover:before {
  transform: translateX(120%);
}
.brsm-donation-submit:hover i {
  background: rgba(255, 255, 255, 0.2);
  transform: translateX(-3px);
}
.brsm-donation-submit:active {
  transform: translateY(0);
  box-shadow:
    0 7px 15px rgba(13, 111, 81, 0.22),
    inset 0 2px 4px rgba(0, 0, 0, 0.13);
}
.brsm-donation-submit:focus-visible {
  outline: 3px solid #8de4c2;
  outline-offset: 4px;
}
.brsm-donation-footnote {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  gap: 12px;
  margin: 20px 2px 0;
  padding: 13px 15px;
  border: 1px solid #c5e5d5;
  border-radius: 14px;
  background: linear-gradient(110deg, #f4fcf7, #e8f7ef);
  color: #2d6653;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.9;
  box-shadow: 0 8px 18px rgba(19, 66, 53, 0.06);
}
.brsm-donation-footnote:before {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 4px;
  background: #159a73;
  content: "";
}
.brsm-donation-footnote i {
  display: grid;
  place-items: center;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  border: 1px solid #a9d9c1;
  border-radius: 9px;
  background: #d8f2e4;
  color: #147455;
  font-size: 13px;
}
@media (max-width: 430px) {
  .brsm-donation-submit {
    min-height: 55px;
    font-size: 13px;
  }
  .brsm-donation-footnote {
    gap: 9px;
    margin-top: 16px;
    padding: 11px 12px;
    font-size: 10px;
  }
  .brsm-donation-footnote i {
    flex-basis: 27px;
    width: 27px;
    height: 27px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .brsm-donation-submit:before,
  .brsm-donation-submit i {
    transition: none;
  }
  .brsm-donation-submit:hover:before {
    transform: none;
  }
  .brsm-donation-submit:hover i {
    transform: none;
  }
}
