.bs-gift-card-page {
  width: min(100% - 2rem, 72rem);
  margin-inline: auto;
  padding-block: clamp(3rem, 7vw, 7rem);
  display: grid;
  gap: 2rem;
}
.bs-gift-card-lookup,
.bs-gift-card-result {
  border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  border-radius: 1.25rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  background: color-mix(in srgb, Canvas 96%, currentColor 4%);
}
.bs-gift-card-lookup form,
.bs-gift-recipient-fields {
  display: grid;
  gap: 1rem;
}
.bs-gift-card-lookup input,
.bs-gift-recipient input,
.bs-gift-recipient textarea {
  width: 100%;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  border-radius: .75rem;
  padding: .85rem 1rem;
  background: Canvas;
  color: CanvasText;
}
.bs-gift-card-eyebrow {
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: .75rem;
  font-weight: 700;
}
.bs-gift-card-face {
  color: white;
  border-radius: 1rem;
  padding: clamp(1.5rem, 5vw, 3rem);
  background: linear-gradient(135deg, #2d2a24, #6750a4);
}
.bs-gift-card-face h2 { font-size: clamp(2.5rem, 8vw, 5rem); }
.bs-gift-card-code {
  display: block;
  margin-block: 1.5rem;
  font: 700 clamp(1rem, 3vw, 1.4rem)/1.4 ui-monospace, monospace;
  letter-spacing: .08em;
  overflow-wrap: anywhere;
}
.bs-gift-card-qr {
  width: min(14rem, 60vw);
  margin: 2rem auto;
}
.bs-gift-card-result dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.bs-gift-card-result dt { font-size: .8rem; opacity: .7; }
.bs-gift-card-result dd { margin: .25rem 0 0; font-weight: 700; }
.bs-gift-card-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.bs-gift-recipient {
  border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
  border-radius: .75rem;
  padding: 1rem;
}
.bs-gift-recipient legend { font-weight: 700; padding-inline: .35rem; }
.bs-gift-recipient-toggle { display: flex; gap: .6rem; align-items: center; }
.bs-gift-recipient-toggle input { width: auto; }
@media (max-width: 40rem) {
  .bs-gift-card-result dl { grid-template-columns: 1fr; }
}
@media print {
  body > *:not(.bs-gift-card-page),
  .bs-gift-card-lookup,
  .bs-gift-card-actions { display: none !important; }
  .bs-gift-card-result { border: 0; }
}
