[data-portal-gift]{max-width:64rem;margin:2rem auto;padding:clamp(1rem,3vw,2rem);overflow-wrap:anywhere}
[data-portal-gift] h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;margin-bottom:1rem}
[data-portal-gift] p,[data-portal-gift] details{margin-block:1rem;line-height:1.65}
[data-portal-gift] form{display:grid;gap:1rem;margin-block:1.5rem}
[data-portal-gift] label{display:block}
[data-portal-gift] input:not([type=checkbox]),[data-portal-gift] textarea{width:100%;max-width:100%}
[data-portal-gift] label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:.65rem;line-height:1.6}
[data-portal-gift] input[type=checkbox]{flex:none;margin-top:.35rem}
[data-portal-gift] details p{font-family:inherit;font-size:1rem}
.portal-gift-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-block:1rem}

.gift-copy-field{display:flex;align-items:flex-start;gap:.65rem;margin-block-start:.4rem;min-width:0}
.gift-copy-field textarea{flex:1 1 0;min-width:0;resize:vertical;padding:.7rem;font:inherit;line-height:1.5;overflow-wrap:anywhere}
.gift-copy-field .button{flex:0 0 auto;min-height:2.75rem;white-space:nowrap}
[data-portal-gift] label:has(.gift-copy-field)+label{margin-block-start:1rem}
@media(max-width:30rem){.gift-copy-field{gap:.4rem}.gift-copy-field .button{padding-inline:.55rem;font-size:.85rem}}

.gift-code-revoke{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-block-start:.75rem;min-inline-size:0}
.gift-code-revoke label{flex:1 1 16rem;display:flex;align-items:flex-start;gap:.5rem;line-height:1.5}
.gift-code-revoke input{flex:0 0 auto;margin-block-start:.25rem}
