.gift-dialog:has([data-gift-reward]:not([hidden])) { width: min(850px, calc(100% - 32px)); }
.gift-dialog [data-gift-title] { margin: 22px 0 8px; font-size: clamp(25px, 4vw, 32px); letter-spacing: .05em; }
.gift-dialog :is(#gift-heading, #gift-title):focus { outline: none; }
.gift-dialog [data-gift-message] { max-width: 66ch; margin: 0; color: #6e6455; font-size: 12px; line-height: 1.9; }
.gift-reward-layout { display: grid; grid-template-columns: minmax(0, 1fr) 176px; gap: 26px; align-items: center; margin-block: 25px 12px; }
.gift-dialog [data-gift-art] svg { display: block; width: 100%; height: auto; max-height: none; margin: 0; border-radius: 3px; box-shadow: 2px 5px 14px #4b382624; }
@media (min-width: 651px) {
  .gift-dialog [data-gift-art] svg { width: min(100%, max(330px, calc((100dvh - 340px) * 1.290323))); margin-inline: auto; }
  .gift-reward-layout { margin-bottom: 22px; }
}
.gift-keepsake { display: grid; justify-items: stretch; gap: 27px; }
.gift-key-reward { display: flex; flex-direction: column; align-items: flex-start; gap: 19px; width: 100%; margin: 0; padding: 19px 4px 23px; border-block: 1px dashed #a4977c70; background: none; }
.gift-key-icon { flex: 0 0 auto; width: 58px; height: auto; transform: rotate(-12deg); filter: drop-shadow(0 3px 5px #dcac5c30); }
.gift-key-eyebrow { display: block; margin-bottom: 9px; font-size: 10px; color: #91836a; letter-spacing: .08em; }
.gift-key-reward strong { display: block; font-size: 16px; font-weight: 600; line-height: 1.65; color: #665239; }
.gift-dialog[open] [data-gift-reward]:not([hidden]) .gift-key-icon { animation: gift-key-glimmer 1.8s ease-in-out 3; }
.gift-key-reward p { margin: 0; }
.gift-actions { display: flex; flex-direction: column; gap: 13px; }
.gift-actions .button { justify-content: space-between; min-height: 43px; padding: 11px 13px; font-size: 11px; border-width: 1px; box-shadow: 2px 3px 0 #473c2e21; }
.gift-actions [data-gift-download] { background: transparent; color: #6a604c; }
.gift-actions [data-gift-cabinet] { background: #576549; color: #fff7dd; border-color: #46543b; }
.gift-actions .button:hover { box-shadow: 3px 5px 0 #473c2e26; }
.gift-actions .button:active { transform: translate(2px, 2px); box-shadow: none; }
.gift-actions .button:focus-visible { outline: 3px solid #998350; outline-offset: 4px; }
@keyframes gift-key-glimmer { 50% { transform: translateY(-4px) rotate(-3deg); filter: drop-shadow(0 0 9px #e6b96188); } }
@media (max-width: 650px) {
  .gift-reward-layout { grid-template-columns: 1fr; gap: 30px; margin-block: 23px 10px; }
  .gift-keepsake { gap: 24px; }
  .gift-key-reward { flex-direction: row; align-items: center; justify-content: center; gap: 22px; max-width: 310px; margin-inline: auto; padding-block: 22px; }
  .gift-key-eyebrow { margin-bottom: 5px; }
  .gift-actions { flex-direction: row; justify-content: center; flex-wrap: wrap; gap: 14px; }
  .gift-actions .button { min-width: 143px; }
}
@media (prefers-reduced-motion: reduce) {
  .gift-dialog[open] [data-gift-reward]:not([hidden]) .gift-key-icon { animation: none; }
}
