/* Gift card — purchase form, public card page, redeem box. Loaded only where needed. */
@font-face{font-family:'IKDana'; src:url('../fonts/DanaVF.woff2') format('woff2'); font-weight:100 900; font-display:swap}
.ik-gc,.ik-gc-redeem,.ik-gc-ty,.ik-gc-stats,.ik-gc-use,.ik-gc-actions,.ik-gc-note,.ik-gc-terms,.ik-gc-warn{--o:var(--ik-color-primary,#FF6B00)}
.ik-gc-canvas{display:block; width:100%; height:auto; aspect-ratio:1200/760; border-radius:26px; box-shadow:0 40px 70px -30px rgba(2,6,23,.65); background:#0f172a}
.ik-gc-grid{display:grid; gap:2rem; grid-template-columns:1fr; align-items:start}
@media (min-width:1024px){ .ik-gc-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)} .ik-gc-sticky{position:sticky; top:7.5rem} }
.ik-gc-note{margin:.8rem 0 0; font-size:.78rem; color:#64748b; text-align:center; line-height:1.9}
.dark .ik-gc-note{color:#94a3b8}

/* form card */
.ik-gc-form{background:#fff; border:1px solid #e5e7eb; border-radius:1.6rem; padding:1.6rem; box-shadow:0 20px 40px -26px rgba(0,0,0,.35); display:flex; flex-direction:column; gap:1.1rem}
.dark .ik-gc-form{background:rgba(30,41,59,.55); border-color:rgba(255,255,255,.1)}
.ik-gc-field{border:0; margin:0; padding:0; min-width:0}
.ik-gc-field legend,.ik-gc-label{display:block; margin:0 0 .45rem; font-size:.86rem; font-weight:800; color:#1e293b; padding:0}
.dark .ik-gc-field legend,.dark .ik-gc-label{color:#e2e8f0}
.ik-gc-input{width:100%; min-height:48px; padding:.7rem 1rem; border:1px solid #d1d5db; border-radius:14px; background:#f9fafb; color:#111827; font:inherit; transition:border-color .15s, box-shadow .15s, background .15s}
.dark .ik-gc-input{background:rgba(0,0,0,.25); border-color:rgba(255,255,255,.14); color:#fff}
textarea.ik-gc-input{min-height:84px; line-height:1.9; resize:vertical}
.ik-gc-input:focus{outline:0; border-color:var(--o); box-shadow:0 0 0 4px color-mix(in srgb,var(--ik-color-primary,var(--o)) 15%,transparent); background:#fff}
.dark .ik-gc-input:focus{background:rgba(0,0,0,.4)}
.ik-gc-input.is-bad{border-color:#ef4444; box-shadow:0 0 0 4px rgba(239,68,68,.15)}
.ik-gc-hint{display:block; margin-top:.35rem; font-size:.74rem; color:#64748b}
.dark .ik-gc-hint{color:#94a3b8}
.ik-gc-two{display:grid; gap:1rem; grid-template-columns:1fr}
@media (min-width:640px){ .ik-gc-two{grid-template-columns:1fr 1fr} }
.ik-gc-hp{position:absolute; inset-inline-start:-9999px; width:1px; height:1px; overflow:hidden}

.ik-gc-chips{display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:.8rem}
.ik-gc-chip{min-height:44px; padding:.45rem 1.1rem; border:1px solid #d1d5db; border-radius:12px; background:#fff; color:#0f172a; font:inherit; font-weight:800; font-size:.88rem; cursor:pointer; transition:all .15s}
.dark .ik-gc-chip{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); color:#fff}
.ik-gc-chip:hover{border-color:var(--o)}
.ik-gc-chip.is-on{background:var(--o); border-color:var(--o); color:#0b1120; box-shadow:0 8px 18px -10px color-mix(in srgb,var(--ik-color-primary,var(--o)) 55%,transparent)}
.ik-gc-designs{display:flex; flex-wrap:wrap; gap:.7rem}
.ik-gc-design{display:flex; align-items:center; gap:.5rem; padding:.4rem .8rem .4rem .9rem; border:1px solid #d1d5db; border-radius:14px; cursor:pointer; font-size:.84rem; font-weight:700; transition:border-color .15s, background .15s}
.dark .ik-gc-design{border-color:rgba(255,255,255,.14)}
.ik-gc-design input{position:absolute; opacity:0; width:1px; height:1px}
.ik-gc-swatch{width:34px; height:22px; border-radius:8px; background:linear-gradient(135deg,var(--b),var(--a) 70%); box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.ik-gc-swatch{background:linear-gradient(135deg,var(--b),var(--a))}
.ik-gc-design:has(input:checked){border-color:var(--o); background:color-mix(in srgb,var(--ik-color-accent,var(--o)) 10%,transparent)}
.ik-gc-design:has(input:focus-visible){outline:2px solid var(--o); outline-offset:2px}

.ik-gc-submit{display:inline-flex; align-items:center; justify-content:center; gap:.7rem; min-height:56px; padding:.9rem 2rem; border:0; border-radius:16px; background:var(--ik-color-cta,var(--o)); color:#fff; font:inherit; font-weight:900; font-size:1.02rem; cursor:pointer; box-shadow:0 14px 30px -14px color-mix(in srgb,var(--ik-color-cta,var(--o)) 60%,transparent); transition:transform .2s, background .2s}.ik-gc-submit:hover{background:var(--ik-color-cta-hover,var(--o));color:#fff;transform:translateY(-1px)}
.ik-gc-submit:hover{transform:translateY(-2px); background:var(--ik-color-cta-hover,var(--o));color:#fff}
.ik-gc-form .ik-gc-submit{width:100%}
.ik-gc-terms{margin:.2rem 0 0; font-size:.74rem; line-height:2; color:#64748b; text-align:center}
.dark .ik-gc-terms{color:#94a3b8}

/* public card page */
.ik-gc-stats{display:flex; justify-content:center; flex-wrap:wrap; gap:1rem 2.5rem; margin:1.8rem 0 1.4rem}
.ik-gc-stats div{display:flex; flex-direction:column; gap:.2rem}
.ik-gc-stats span{font-size:.78rem; color:#64748b} .dark .ik-gc-stats span{color:#94a3b8}
.ik-gc-stats strong{font-size:1.35rem; font-weight:900; color:var(--ik-color-primary,#FF6B00)}
.ik-gc-use{margin:.5rem 0 .6rem}
.ik-gc-warn{margin:1rem 0; padding:.9rem 1.2rem; border-radius:14px; background:rgba(239,68,68,.1); color:#b91c1c; font-weight:700}
.ik-gc-actions{display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; margin:1.2rem 0 0}
.ik-gc-btn{display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.6rem 1.4rem; border:1px solid #d1d5db; border-radius:14px; background:#fff; color:#0f172a; font:inherit; font-weight:800; font-size:.88rem; text-decoration:none; cursor:pointer; transition:transform .15s, border-color .15s}
.dark .ik-gc-btn{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14); color:#fff}
.ik-gc-btn:hover{transform:translateY(-2px); border-color:var(--ik-color-primary,#FF6B00)}
.ik-gc-btn--primary{background:#0f172a; border-color:#0f172a; color:#fff} .dark .ik-gc-btn--primary{background:var(--ik-color-cta,#FF6B00); border-color:var(--ik-color-cta,#FF6B00); color:#fff}

/* thank-you block */
.ik-gc-ty{margin:0 0 2.5rem}
.ik-gc-ty-card{background:#fff; border:1px solid #e5e7eb; border-radius:2rem; padding:1.6rem; box-shadow:0 20px 40px -26px rgba(0,0,0,.35); text-align:center}
.dark .ik-gc-ty-card{background:rgba(30,41,59,.55); border-color:rgba(255,255,255,.1)}
.ik-gc-ty-card h2{margin:0 0 1.2rem; font-size:1.3rem; font-weight:900}
.ik-gc-ty-card .ik-gc-canvas{max-width:640px; margin-inline:auto}
.ik-gc-link{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.6rem; margin:1.1rem 0 0; font-size:.84rem; color:#64748b}
.ik-gc-link input{flex:1 1 280px; max-width:420px; min-height:42px; padding:.4rem .8rem; border:1px solid #d1d5db; border-radius:12px; background:#f9fafb; font:inherit; font-size:.8rem}
.dark .ik-gc-link input{background:rgba(0,0,0,.3); border-color:rgba(255,255,255,.14); color:#fff}
.ik-gc-pending{padding:1rem 1.3rem; border-radius:14px; background:rgba(245,158,11,.12); color:#92400e; font-weight:700}

/* redeem box (cart / checkout) */
.ik-gc-redeem{margin:0 0 1.2rem; padding:1rem 1.1rem; border:1px dashed color-mix(in srgb,var(--ik-color-accent,var(--o)) 55%,transparent); border-radius:16px; background:color-mix(in srgb,var(--ik-color-accent,var(--o)) 8%,transparent)}
.ik-gc-redeem-head{font-weight:800; font-size:.9rem; margin-bottom:.7rem}
.ik-gc-redeem-form{display:flex; gap:.5rem}
.ik-gc-redeem-form[hidden],.ik-gc-redeem-on[hidden]{display:none}
.ik-gc-redeem .ik-gc-input{min-height:44px; font-size:.85rem; letter-spacing:.04em}
.ik-gc-apply,.ik-gc-remove{flex:0 0 auto; min-height:44px; padding:0 1.2rem; border:0; border-radius:12px; background:#0f172a; color:#fff; font:inherit; font-weight:800; font-size:.84rem; cursor:pointer}
.dark .ik-gc-apply{background:var(--ik-color-cta,#FF6B00); color:#fff}
.ik-gc-remove{background:transparent; color:#b91c1c; border:1px solid currentColor}
.ik-gc-redeem-on{display:flex; align-items:center; justify-content:space-between; gap:.8rem; font-size:.84rem; line-height:1.9}
.ik-gc-msg{margin:.5rem 0 0; font-size:.8rem; min-height:1.2em}
.ik-gc-msg.is-ok{color:#15803d} .ik-gc-msg.is-err{color:#b91c1c}
.dark .ik-gc-msg.is-ok{color:#4ade80} .dark .ik-gc-msg.is-err{color:#f87171}

.ik-gc-toast{position:fixed; bottom:5.5rem; inset-inline:1rem; margin-inline:auto; width:fit-content; max-width:92vw; z-index:9999; padding:.8rem 1.3rem; border-radius:14px; background:#0f172a; color:#fff; font-weight:700; font-size:.88rem; box-shadow:0 20px 40px -16px rgba(0,0,0,.6); animation:ik-gc-toast 5s ease forwards}
@keyframes ik-gc-toast{0%{opacity:0; transform:translateY(14px)}8%,85%{opacity:1; transform:none}100%{opacity:0; visibility:hidden}}
@media (prefers-reduced-motion:reduce){.ik-gc-toast{animation-duration:.01ms; animation-delay:5s}}
