/* Gift card builder. Everything is scoped under .gcb so it cannot touch the rest of the site (modern CSS nesting). */
.gcb{--bg3:#101c33;--panel:#0b1425;color:var(--ink,#f5f1e8);font-family:var(--body,Inter,system-ui,sans-serif);
  .grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(22px,4vw,56px);align-items:start;padding:10px 0 90px}
  .form{display:grid;gap:22px}
  .step{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:clamp(18px,2.6vw,28px)}
  .step h2{font-family:var(--display);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:26px;line-height:1;margin:0 0 16px;display:flex;align-items:center;gap:12px}
  .step h2 i{font-style:normal;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--orange2));font-size:18px;color:#fff}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .opt{background:var(--bg3);border:1.5px solid var(--line);border-radius:16px;padding:16px;text-align:left;cursor:pointer;transition:.2s;display:block;width:100%;color:inherit;font:inherit}
  .opt:hover{border-color:var(--gold)}.opt.on{border-color:var(--orange);background:rgba(255,90,10,.12);box-shadow:0 0 0 1px var(--orange)}
  .opt b{display:block;font-family:var(--display);font-weight:400;font-size:21px;letter-spacing:.05em;text-transform:uppercase}.opt small{color:var(--muted);font-size:13.5px}
  .opt .pr{float:right;font-family:var(--display);font-size:22px;color:var(--gold)}
  .chips{display:flex;gap:10px;flex-wrap:wrap}.chip{background:var(--bg3);border:1.5px solid var(--line);border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:600;transition:.2s;color:inherit;font:inherit;font-weight:600}
  .chip:hover{border-color:var(--gold)}.chip.on{background:linear-gradient(135deg,var(--orange),var(--orange2));border-color:transparent;color:#fff}
  label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
  input,textarea,select{width:100%;background:var(--bg3);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;transition:.2s;color:inherit;font:inherit}
  input:focus,textarea:focus,select:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,90,10,.2)}
  textarea{min-height:84px;resize:vertical}.cnt{font-size:12px;color:var(--muted);text-align:right;margin-top:4px}
  .stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg3)}
  .stepper button{background:none;border:0;width:44px;height:44px;font-size:22px;cursor:pointer;color:inherit}.stepper span{min-width:44px;text-align:center;font-weight:700;font-size:18px}
  .radio{display:grid;gap:10px}.radio .opt{display:flex;gap:12px;align-items:flex-start}.radio .dot{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--muted);margin-top:3px}
  .radio .opt.on .dot{border-color:var(--orange);background:radial-gradient(var(--orange) 45%,transparent 50%)}
  .gc-hint{font-size:13px;color:var(--muted);margin:8px 0 0}.err{color:#ff8f7a}.hidden{display:none!important}
  .how{border:1px solid rgba(217,180,95,.45);background:linear-gradient(160deg,rgba(217,180,95,.12),rgba(217,180,95,.03));border-radius:18px;padding:18px 20px}
  .how h3{font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;color:var(--gold)}
  .how ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:14.5px;color:#d6deec}
  .how li{padding-left:22px;position:relative}.how li::before{content:"";position:absolute;left:2px;top:.55em;width:9px;height:9px;background:var(--orange);transform:rotate(45deg)}
  .how .ex{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(6,12,23,.7);border:1px dashed var(--gold);font-size:14px}
  .how .ex b{color:var(--gold)}
  .sum{background:linear-gradient(160deg,#16253f,#0b1425);border:1px solid var(--gold);border-radius:20px;padding:clamp(18px,2.6vw,28px)}
  .eyebrow2{font-size:13px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--orange2)}
  .sum .r{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed var(--line);padding:9px 0;font-size:15px}.sum .r span:first-child{color:var(--muted)}.sum .r span:last-child{text-align:right}
  .total{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:20px}.total b{font-weight:400;font-size:52px;color:var(--gold)}
  .buy{width:100%;border:0;border-radius:14px;padding:18px;cursor:pointer;font-family:var(--display);font-size:22px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,var(--orange),var(--orange2));box-shadow:0 14px 34px rgba(255,90,10,.35);transition:.2s}
  .buy:hover{transform:translateY(-2px)}.buy[disabled]{opacity:.6;cursor:wait;transform:none}
  .preview{position:sticky;top:96px}
  .pv-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.pv-top h3{font-size:22px;letter-spacing:.08em;font-family:var(--display);font-weight:400;text-transform:uppercase}
  .seg{display:inline-flex;background:var(--bg3);border:1px solid var(--line);border-radius:999px;padding:4px}.seg button{background:none;border:0;border-radius:999px;padding:8px 18px;cursor:pointer;font-weight:600;font-size:14px;color:var(--muted)}.seg button.on{background:var(--orange);color:#fff}
  .pv-note{font-size:13px;color:var(--muted);text-align:center;margin-top:16px}
  .gc-ideas{margin:6px 0 4px;font-size:15px;line-height:1.5;color:#e9e3d2}.gc-ideas b{color:var(--gold)}
  .perks{display:flex;gap:10px 22px;flex-wrap:wrap;margin:6px 0 26px;font-size:14px;color:#d6deec}.perks span::before{content:"✦";color:var(--orange2);margin-right:8px}
  .toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:#fff;color:#0a0f1c;padding:14px 20px;border-radius:14px;z-index:300;max-width:min(560px,92vw);font-size:14px;transition:.3s;font-weight:600}.toast.show{transform:translate(-50%,0);opacity:1}
  @media (max-width:980px){.grid{grid-template-columns:1fr}.preview{position:static;order:-1}.two{grid-template-columns:1fr}}
}
