/* All gift-page styling stays local to this page. */
.gift-page-wrap {padding-block:48px 72px}
.gift-heading {display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:42px}
.gift-heading h1 {font-size:48px}
.gift-heading p {max-width:480px;margin-top:16px;color:var(--muted-foreground);font-size:16px;line-height:1.7}
.gift-heading>.text-link {font-size:12px;flex-shrink:0;margin-bottom:5px}
.gift-builder {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:72px;align-items:start}
.gift-builder>*,.gift-two-fields>* {min-width:0}
.gift-step {border:0;border-bottom:1px solid var(--border);padding:0 0 30px;margin:0 0 30px;min-width:0}
.gift-step>legend {font-family:var(--font-heading);font-size:22px;font-weight:600;letter-spacing:-.035em;padding:0;margin-bottom:22px}
.gift-products {display:grid;gap:10px}
.gift-choice {position:relative;display:flex;align-items:start;gap:12px;border:1px solid var(--border);border-radius:8px;padding:16px;margin:0;cursor:pointer;font-weight:400;background:var(--background)}
.gift-choice:hover {border-color:var(--muted-foreground)}
.gift-choice:has(input:checked) {background:var(--accent-soft);border-color:var(--primary)}
.gift-choice:has(input:focus-visible) {outline:2px solid var(--ring);outline-offset:3px}
.gift-choice input[type=radio] {margin-top:3px}
.gift-choice-copy {flex:1;min-width:0}
.gift-choice strong {display:block;font-size:14px;font-weight:600}
.gift-choice small {display:block;font-size:12px;color:var(--muted-foreground);line-height:1.6;margin-top:5px}
.gift-choice-price {font-size:14px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.gift-amount-label {font-size:13px;margin-block:22px 10px}
.gift-amounts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gift-amounts .gift-choice {min-height:44px;padding:11px 6px;justify-content:center;align-items:center;gap:6px}
.gift-amounts .gift-choice-copy {flex:0 1 auto}
.gift-amounts input[type=radio] {width:14px;height:14px;margin:0}
.gift-amounts strong {font-size:13px;font-weight:500}
.gift-custom {margin-top:18px;max-width:280px}
.gift-field {margin-bottom:18px}
.gift-field:last-child {margin-bottom:0}
.gift-page input:not([type=radio]),.gift-page textarea {min-height:42px}
.gift-page textarea {height:auto;min-height:100px}
.gift-page .field-error {line-height:1.5}
.gift-delivery-options {display:grid;gap:8px;margin-bottom:22px}
.gift-delivery-options label {margin:0;padding-block:3px}
.gift-delivery-options small {color:var(--muted-foreground);font-size:12px}
.gift-timing {border:0;padding:0;margin:0 0 22px;min-width:0}
.gift-timing>legend {padding:0;margin-bottom:10px;font-size:14px;font-weight:500}
.gift-inline-radios {display:flex;gap:26px;flex-wrap:wrap;margin-bottom:12px}
.gift-inline-radios label {margin:0}
.gift-date-row {display:flex;align-items:center;gap:10px}
.gift-date-row>input {min-width:0;flex:1}
.gift-date-chips {display:flex;gap:6px}
.gift-date-chips .btn {font-size:12px;padding-inline:10px;min-height:40px}
.gift-date-chips [aria-pressed=true] {border-color:var(--primary);background:var(--accent-soft)}
.gift-two-fields {display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gift-two-fields .gift-field {margin-bottom:18px}
.gift-counter {text-align:right;font-variant-numeric:tabular-nums;margin-top:4px}
.gift-payment {border:0;margin-bottom:0;padding-bottom:0}
.gift-payment-hint {color:var(--muted-foreground);font-size:12px;margin-bottom:16px}
.gift-express {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gift-express .btn {height:44px;font-size:13px;padding-inline:8px}
.gift-express .btn:first-child {background:var(--foreground);color:white}
.gift-express .btn:first-child:hover {background:#35302d}
.gift-express .btn:last-child {border-color:var(--border)}
.gift-payment-divider {display:flex;align-items:center;gap:14px;color:var(--muted-foreground);font-size:12px;margin-block:22px 12px}
.gift-payment-divider::before,.gift-payment-divider::after {content:"";height:1px;background:var(--border);flex:1}
.gift-card-heading {display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:10px}
.gift-card-heading .btn {font-size:12px;text-decoration:underline}
.gift-total {display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:18px;margin-top:4px;font-size:16px}
.gift-total strong {font-family:var(--font-heading);font-size:24px;font-weight:500;font-variant-numeric:tabular-nums}
.gift-buy {width:100%;height:46px;margin-top:22px}
.gift-error-summary {background:#fef2f2;color:var(--danger);border-radius:8px;padding:12px;font-size:13px;margin-top:18px}
.gift-processing {font-size:12px;color:var(--muted-foreground);margin-top:10px;min-height:0}
.gift-preview {position:sticky;top:104px;min-width:0}
.gift-preview>h2 {font-family:var(--font-body);font-size:12px;letter-spacing:0;font-weight:500;color:var(--muted-foreground);margin-bottom:14px}
.gift-email-card {border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--accent-soft)}
.gift-preview-brand {display:flex;align-items:center;gap:10px;padding:20px 26px;border-bottom:1px solid var(--border);font-family:var(--font-heading);font-size:20px;font-weight:600;color:var(--primary)}
.gift-preview-brand img {object-fit:contain}
.gift-preview-body {padding:30px 26px 26px;text-align:center}
.gift-preview-body h3 {font-size:36px;line-height:1.12;color:var(--primary);max-width:320px;margin:0 auto 24px;overflow-wrap:anywhere}
#preview-for {font-size:14px;font-weight:500;overflow-wrap:anywhere}
.gift-preview-body blockquote {font-size:15px;line-height:1.7;border:0;padding:0;margin:20px 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--primary)}
#preview-from {font-size:13px;color:var(--primary);margin-top:20px;overflow-wrap:anywhere}
.gift-preview-code {border:1px solid var(--border);background:#fff8f3;border-radius:8px;padding:14px 8px;margin-top:28px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;color:var(--primary)}
.gift-preview-book {font-size:11px;color:var(--primary);margin-top:14px;overflow-wrap:anywhere}
.gift-delivery-chip {display:flex;align-items:center;justify-content:center;gap:8px;background:var(--muted);border-radius:8px;padding:10px;margin-top:12px;color:var(--muted-foreground);font-size:12px}
.gift-delivery-chip .ico {width:15px;height:15px}
.gift-preview-note {font-size:12px;text-align:center;line-height:1.8;margin-top:16px;color:var(--muted-foreground)}
.gift-help-layout {display:grid;grid-template-columns:1fr 1fr;gap:72px;border-top:1px solid var(--border);margin-top:64px;padding-top:48px}
.gift-help-layout>section {min-width:0}
.gift-help-layout h2 {font-size:28px;margin-bottom:14px}
.gift-balance>p.muted {font-size:13px;margin-bottom:22px}
.gift-balance-input {display:flex;gap:8px}
.gift-balance-input input {min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.gift-balance-input .btn {height:42px}
.gift-demo-note {font-size:11px;line-height:1.8;color:var(--muted-foreground);padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--muted);margin-top:20px}
.gift-demo-note code {font-size:11px;white-space:nowrap}
.gift-balance-result {border:1px solid var(--border);border-radius:12px;padding:22px;margin-top:20px;overflow-wrap:anywhere}
.gift-balance-result h3 {font-size:21px;line-height:1.3;margin-bottom:18px}
.gift-balance-result .badge {margin-bottom:10px}
.gift-balance-result dl {margin:0 0 22px}
.gift-balance-result dl>div,.gift-success-summary>div {display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:13px;margin-block:10px}
.gift-balance-result dt,.gift-success-summary dt {color:var(--muted-foreground)}
.gift-balance-result dd,.gift-success-summary dd {margin:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}
#balance-current {font-size:24px;font-family:var(--font-heading);color:var(--green)}
.gift-balance-result h4 {font-family:var(--font-body);font-size:12px;letter-spacing:0;font-weight:500;margin-bottom:10px}
#balance-history {list-style:none;padding:0;margin:0}
#balance-history li {border-top:1px solid var(--border);padding-block:10px;font-size:13px}
#balance-history small {display:block;margin-top:4px;color:var(--muted-foreground);font-size:11px}
.gift-balance-result>.text-link {margin-top:22px;font-size:13px}
.gift-rules>ul {padding-left:18px;margin:20px 0 28px;font-size:13px;line-height:1.8;color:var(--muted-foreground)}
.gift-rules>ul li {padding-left:3px;margin-bottom:10px}
.gift-rules details {border-top:1px solid var(--border);padding-block:16px;font-size:13px}
.gift-rules details:last-child {border-bottom:1px solid var(--border)}
.gift-rules summary {cursor:pointer;font-weight:500;padding-right:6px}
.gift-rules details p {margin-top:12px;color:var(--muted-foreground);line-height:1.7}
.gift-success {max-width:640px;padding:32px;border:1px solid var(--border);border-radius:12px;background:var(--background)}
.gift-success-mark {color:var(--green);margin-bottom:18px}
.gift-success-mark .ico {width:36px;height:36px}
.gift-success-demo {font-size:11px;color:var(--muted-foreground);margin-bottom:12px}
.gift-success h2 {font-size:34px;margin-bottom:18px}
#gift-success-delivery {font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.gift-issued-code {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:var(--green-soft);border:1px solid var(--border);border-radius:8px;margin-block:24px}
.gift-issued-code code {font-size:24px;color:var(--green);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.gift-success-summary {border-bottom:1px solid var(--border);padding-bottom:18px;margin:0 0 22px}
.gift-success-summary dt {flex-shrink:0}
.gift-success .text-link {font-size:13px;line-height:1.7;display:block}
@media (max-width:1000px) {
  .gift-builder,.gift-help-layout {gap:32px}
  .gift-heading {align-items:start}.gift-heading>.text-link {max-width:210px;line-height:1.6}
  .gift-preview-brand {font-size:18px;padding:18px}.gift-preview-body {padding:26px 18px}
  .gift-preview-body h3 {font-size:30px}
  .gift-choice {padding:14px 12px;gap:8px}.gift-choice-price {font-size:13px}
  .gift-date-row {flex-wrap:wrap}.gift-date-row>input {flex-basis:100%}
}
@media (max-width:767px) {
  .gift-page-wrap {padding-block:30px 44px}
  .gift-heading {display:block;margin-bottom:30px}.gift-heading h1 {font-size:38px}
  .gift-heading p {font-size:14px;line-height:1.75;margin-top:14px}.gift-heading>.text-link {margin-top:16px;max-width:none;font-size:12px}
  .gift-builder,.gift-help-layout {grid-template-columns:minmax(0,1fr);gap:30px}
  .gift-step {padding-bottom:26px;margin-bottom:26px}.gift-step>legend {font-size:22px;margin-bottom:18px}
  .gift-choice {padding:14px 11px;gap:8px}.gift-choice small {font-size:11px}.gift-choice strong {font-size:13px}
  .gift-choice-price {font-size:12px}.gift-amounts {gap:6px}.gift-amounts .gift-choice {padding:12px 5px;gap:5px}
  .gift-amounts strong {font-size:12px}.gift-amounts input[type=radio] {width:13px;height:13px}
  #recipient-fields {grid-template-columns:1fr;gap:0}.gift-two-fields {gap:12px}
  .gift-delivery-options label {font-size:13px}.gift-delivery-options small {font-size:11px}
  .gift-date-row {flex-wrap:wrap}.gift-date-row>input {flex-basis:100%;min-height:44px}
  .gift-date-chips .btn {min-height:44px;padding-inline:16px}
  .gift-payment {margin:0;padding:0}.gift-card-heading .btn {height:44px}
  .gift-preview {position:static;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--muted)}
  .gift-preview>h2 {font-size:14px;color:var(--foreground);margin-bottom:12px}
  .gift-preview-brand {padding:12px 16px;font-size:17px;gap:8px}.gift-preview-brand img {width:27px;height:30px}
  .gift-preview-body {padding:20px 16px}
  .gift-preview-body h3 {font-size:28px;max-width:240px;margin-bottom:16px}
  #preview-for {font-size:13px}.gift-preview-body blockquote {font-size:13px;margin-block:14px}
  #preview-from {font-size:12px;margin-top:14px}.gift-preview-code {margin-top:20px;font-size:10px;padding:12px 5px}
  .gift-preview-book {font-size:10px}.gift-delivery-chip {padding:0;margin-top:14px;font-size:11px}
  .gift-preview-note {font-size:11px;margin-top:12px}.gift-preview-note br {display:none}
  .gift-help-layout {padding-top:32px;margin-top:36px;gap:40px}.gift-help-layout h2 {font-size:26px}
  .gift-demo-note {padding:12px}.gift-balance-result {padding:18px}
  .gift-success {padding:22px 18px}.gift-success h2 {font-size:29px}
  .gift-issued-code {padding:12px;gap:8px;flex-wrap:wrap}.gift-issued-code code {font-size:20px}
  .gift-issued-code .btn {padding-inline:10px;font-size:12px}
  .gift-success-summary>div {font-size:12px;gap:12px}
}

.gift-express .gift-cash-app {background:#14532d;color:#fff;border-color:#14532d}
.gift-express .gift-cash-app:hover {background:#103f24}
.gift-square-fields {display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);border:1px solid var(--input);border-radius:8px;margin-bottom:22px}
.gift-square-fields .gift-field {min-width:0;margin:0}
.gift-square-fields .gift-field+.gift-field {border-left:1px solid var(--input)}
.gift-square-fields input {border:0;border-radius:7px;background:transparent;padding-inline:10px;width:100%;min-width:0;height:44px;font-size:14px}
.gift-square-fields input:focus-visible {outline:2px solid var(--ring);outline-offset:-2px}
.gift-square-fields input[aria-invalid=true] {outline:2px solid var(--danger);outline-offset:-2px}
.gift-square-fields .field-error:not([hidden]) {padding:0 8px 8px;overflow-wrap:anywhere}
.gift-square-note {display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;color:var(--muted-foreground);font-size:12px}
.gift-square-note .ico {width:14px;height:14px;flex-shrink:0}
@media (max-width:600px) {
  .gift-express {grid-template-columns:repeat(2,minmax(0,1fr))}
  .gift-express .gift-cash-app {grid-column:1/-1}
  .gift-square-fields {grid-template-columns:repeat(3,minmax(0,1fr))}
  .gift-square-fields .gift-field:first-child {grid-column:1/-1;border-bottom:1px solid var(--input)}
  .gift-square-fields .gift-field:nth-child(2) {border-left:0}
  .gift-square-fields input {font-size:16px}
}
