/* Gift card look-up. One white band: heading, intro copy, gift-card balance form.
   The form is inert in phase 1 — these rules only reproduce the look of the live one. */

.giftlookup {
  background: var(--white);
  min-height: 775px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.giftlookup-title { text-align: left; }

/* Live sets the two lower blocks to fixed percentages of the viewport with no
   mobile override, so they stay narrow on phones. Matches the live rendering. */
.giftlookup-intro { width: 46%; text-align: center; }
.giftlookup-intro p { margin: 0 0 14.4px; }
/* The theme renders <strong> at 400 against the 300-weight body copy, not at bold. */
.giftlookup-intro strong { font-weight: 400; }
/* The live shortcode widget carries a stray empty paragraph above the form. */
.giftlookup-form { width: 50%; padding-top: 14.4px; }

/* ---------- form ---------- */
.giftlookup .gform-fields { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 2%; row-gap: 16px; }
.giftlookup .gfield { margin: 0; padding: 0; border: 0; min-width: 0; }
.giftlookup .gfield-full { grid-column: 1 / -1; }

.giftlookup .gfield-label {
  display: block; padding: 0; margin: 0 0 8px;
  font: 300 22px / 31px var(--font-display);
  letter-spacing: 1.3px; color: var(--text);
}
.giftlookup label.gfield-label { line-height: 22px; }
.giftlookup label.gfield-label .gfield-required { line-height: 1; }
.giftlookup .gfield-required {
  padding-left: 4px;
  font-size: .813rem; font-style: italic; color: #C02B0A;
}

.giftlookup input[type="text"],
.giftlookup input[type="email"],
.giftlookup input[type="number"] {
  width: 100%; max-width: 100%; padding: 2px; margin: 0;
  font: 400 22px / 1.5 var(--font-serif); color: var(--text);
  background: var(--white);
  border: 3px solid #0C2D4A; border-radius: 7px;
}

/* The name field's single sub-column stops 8px short of the row on the live form. */
.giftlookup .gfield-name-row { padding-right: 8px; }

.giftlookup .gfield-grid { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 2%; }
.giftlookup .gfield-col { grid-column: span 6; min-width: 0; }
.giftlookup .gfield-sublabel {
  display: block; padding-top: 5px;
  font: 400 15px / 15px var(--font-serif); color: var(--text);
}

.giftlookup .gform-footer { margin-top: 6px; padding: 16px 0; display: flex; }
.giftlookup .gform-submit {
  width: 250px; margin: 23px 0 8px; padding: 7px 25px;
  background: #D51212; color: var(--white);
  font: 300 22px / 33px var(--font-display); letter-spacing: 1.3px;
  border: 0; border-radius: 7px; cursor: pointer;
  transition: background-color .2s ease-in-out;
}
.giftlookup .gform-submit:hover { background: #E13F3F; }

@media (max-width: 641px) {
  /* Gravity's own small-screen rule: taller inputs for touch. */
  .giftlookup input[type="text"],
  .giftlookup input[type="email"],
  .giftlookup input[type="number"] { line-height: 2; }
  /* Gravity's grid columns stack and swap their gutter for an 8px bottom margin. */
  .giftlookup .gfield-col { grid-column: 1 / -1; margin-bottom: 8px; }
  .giftlookup .gfield-grid { row-gap: 0; }
  .giftlookup .gfield-name-row { padding-right: 0; margin-bottom: 8px; }
  .giftlookup .gform-submit { width: 100%; }
}
