.wallet-body .admission-entry { display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid #12305b; border-radius: 16px; background: #12305b; color: white; text-align: left; cursor: pointer; }
.admission-entry img, .admission-detail { display: block; width: 100%; height: auto; border-radius: 14px; }
.admission-entry > span { display: block; padding: 14px 18px; font-size: 14px; line-height: 1.6; }
.admission-entry:focus-visible { outline: 3px solid #6aa8ed; outline-offset: 4px; }
.wallet-body .discount-item h2 { margin: 0; font-size: 22px; }
.wallet-body .discount-item p { margin: 0; }
#discount-message:empty, #discount-redeem-message:empty, #admin-discount-message:empty { display: none; }
.wallet-body #discount-redeem-dialog { width: min(480px, calc(100% - 32px)); padding: 24px; }
.wallet-body #discount-redeem-dialog .redeem-summary { padding: 16px; border-radius: 12px; background: #edf3fb; font-weight: 700; }
.discount-preview { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.discount-preview figure { margin: 0; overflow-wrap: anywhere; }
.discount-preview img { display: block; max-width: 100%; height: auto; }
@media (max-width: 420px) {
  .wallet-body #discount-redeem-dialog { width: 100%; height: 100dvh; max-width: none; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; padding: max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); }
}
