.gift-cards-page{width:min(100% - 2.5rem,64rem);margin:0 auto;padding:clamp(3rem,8vw,7rem) 0;color:inherit}
.gift-cards-page__heading{max-width:42rem;margin-bottom:3rem}
.gift-cards-page h1{font-size:clamp(2.25rem,6vw,4.5rem);line-height:1.1;margin:0 0 1rem}
.gift-cards-page p{line-height:1.6}
.gift-card-balance{border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:1.5rem;padding:clamp(1.25rem,4vw,3rem)}
.gift-card-balance h2{margin-top:0;font-size:clamp(1.5rem,3vw,2rem)}
.gift-card-balance label{display:block;margin-bottom:.6rem}
.gift-card-balance__entry{display:flex;gap:.75rem;align-items:stretch}
.gift-card-balance input,.gift-card-balance textarea{font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:.65rem;min-width:0;flex:1;padding:.8rem 1rem}
.gift-card-balance button{font:inherit;cursor:pointer;border:1px solid currentColor;border-radius:.65rem;padding:.8rem 1.2rem;color:inherit;background:transparent;min-height:2.75rem}
.gift-card-balance button:disabled{opacity:.55;cursor:wait}
.gift-card-balance :focus-visible{outline:2px solid currentColor;outline-offset:4px}
.gift-card-balance__hint{font-size:.925rem;max-width:45rem}
.gift-card-balance__amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:2rem 0}
.gift-card-balance dt{font-size:.925rem}
.gift-card-balance dd{font-size:clamp(1.5rem,3vw,2.1rem);margin:.5rem 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.gift-card-balance__history{list-style:none;padding:0;margin:0 0 1.5rem}
.gift-card-balance__history li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1rem;padding:1rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 20%,transparent)}
.gift-card-balance__history time{grid-column:1;font-size:.925rem}
.gift-card-balance__history strong{grid-column:2;grid-row:1 / span 2;align-self:center;font-variant-numeric:tabular-nums}
.gift-card-balance__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.gift-card-balance [hidden]{display:none!important}
.gift-card-purchase{margin-bottom:2rem}
.gift-card-purchase fieldset{border:0;padding:0;margin:0;min-width:0}
.gift-card-purchase legend{padding:0;margin-bottom:.75rem}
.gift-card-purchase__amounts{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}
.gift-card-purchase__amounts label{display:flex;align-items:center;gap:.5rem;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:.65rem;padding:.75rem 1rem;cursor:pointer}
.gift-card-purchase__amounts label:has(:checked){outline:2px solid currentColor;outline-offset:2px}
.gift-card-purchase__amounts input{flex:none;accent-color:currentColor}
.gift-card-purchase__contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.gift-card-purchase__message{margin-top:1.25rem}
.gift-card-purchase textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:7rem}
.gift-card-purchase__contacts input{box-sizing:border-box;width:100%;min-height:2.75rem}
@media(max-width:38rem){.gift-card-purchase__contacts{grid-template-columns:1fr}}
@media(max-width:38rem){.gift-card-balance__entry{flex-direction:column}.gift-card-balance__amounts{grid-template-columns:1fr;gap:.75rem}.gift-card-balance__amounts div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}}
