.panel-left .code-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.btn-package-buy {
  border: 1.5px solid var(--accent);
  background: transparent;
  color: var(--accent);
  padding: 8px 12px;
  font-family: 'Unbounded', sans-serif;
  font-size: .58rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
}

.btn-package-buy:hover { background: var(--accent); color: #fff; }

.package-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1100;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0, 0, 0, .55);
}

.package-overlay.open { display: flex; }
.package-modal { position: relative; width: min(620px, 100%); max-height: 92vh; overflow-y: auto; border: 2px solid var(--ink); background: var(--paper); padding: 28px 30px; }
.package-modal h2 { margin: 0 34px 9px 0; font-family: 'Unbounded', sans-serif; font-size: 1rem; }
.package-close { position: absolute; top: 12px; right: 14px; border: 0; background: transparent; color: var(--mid); font-size: 1.35rem; cursor: pointer; }
.package-intro { color: var(--mid); font-size: .69rem; line-height: 1.65; }
.package-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 18px 0; }
.package-option { position: relative; display: block; border: 1.5px solid var(--line); padding: 14px 11px; cursor: pointer; }
.package-option:has(input:checked) { border-color: var(--accent); background: rgba(212, 80, 10, .05); }
.package-option input { position: absolute; opacity: 0; }
.package-option strong, .package-option span { display: block; }
.package-option strong { font-family: 'Unbounded', sans-serif; font-size: .68rem; }
.package-option span { margin-top: 7px; color: var(--accent); font-size: .75rem; font-weight: 700; }
.package-option small { display: block; margin-top: 5px; color: var(--mid); font-size: .58rem; }
.package-name-label { display: block; margin-bottom: 5px; color: var(--mid); font-size: .61rem; letter-spacing: .08em; text-transform: uppercase; }
.package-submit { width: 100%; margin-top: 14px; border: 0; background: var(--accent); color: #fff; padding: 13px; font-family: 'Unbounded', sans-serif; font-size: .7rem; font-weight: 700; cursor: pointer; }
.package-submit:disabled { background: var(--line); cursor: wait; }
.package-error { display: none; margin-top: 10px; color: #c0392b; font-size: .67rem; line-height: 1.55; }
.package-error.visible { display: block; }
.package-result { display: none; margin-top: 16px; border: 1.5px solid var(--success); padding: 14px; font-size: .7rem; line-height: 1.65; }
.package-result.visible { display: block; }
.package-code { display: block; margin: 9px 0; padding: 10px; background: var(--ink); color: var(--paper); font-size: .82rem; word-break: break-all; user-select: all; }
.package-copy { border: 1px solid var(--ink); background: transparent; padding: 7px 10px; font-family: inherit; font-size: .65rem; cursor: pointer; }
.package-payment-options { display: flex; flex-direction: column; gap: 9px; margin-top: 12px; }
.package-pay { display: flex; justify-content: space-between; gap: 12px; width: 100%; border: 1.5px solid var(--ink); background: transparent; padding: 12px; font-family: inherit; font-size: .7rem; text-align: left; cursor: pointer; }
.package-pay:hover { background: var(--ink); color: var(--paper); }

@media (max-width: 800px) {
  .panel-left .code-row { grid-template-columns: 1fr; }
  .btn-package-buy { padding: 11px 14px; }
  .package-list { grid-template-columns: 1fr; }
  .package-modal { padding: 24px 20px; }
}
