/* Kudo Club punch card + gift choice (design: Kudo_Header_Search prototype, Kudo Club view). Classes are kc-* so they never touch the older .stamp/.punchcard styles. */
.kclub{--kc-yellow:#ffdf2d;--kc-ink:#20221d;--kc-muted:#818276;display:block;margin-top:20px;color:var(--kc-ink)}
.kclub svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.kclub button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.kc-punch{position:relative;border-radius:29px;background:var(--kc-yellow);padding:25px;overflow:hidden}
.kc-punch:after{content:'';width:230px;height:230px;border:1px solid #23231f0c;position:absolute;right:-75px;top:-80px;border-radius:50%;pointer-events:none}
.kc-punch-top{display:flex;justify-content:space-between;align-items:center}
.kc-punch-top h2{font-size:25px;margin:0;font-weight:900;font-style:italic;letter-spacing:-1px;line-height:1.1}
.kc-punch-kicker{font-size:8px;font-weight:800;letter-spacing:1.5px;margin-top:6px}
.kc-punch-count{font-size:13px;font-weight:800;background:#ffffff70;border-radius:20px;padding:10px 13px;white-space:nowrap}
.kc-punch-title{font-size:20px;line-height:1.25;font-weight:800;margin:22px 0 6px;letter-spacing:-.4px}
.kc-punch-sub{font-size:12px;line-height:1.5;margin:0 0 19px;color:#56502b}
.kc-stamps{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(2px,.8vw,6px)}
.kc-stamp{min-width:0;aspect-ratio:1;max-width:90px;display:flex;align-items:center;justify-content:center;border:1.5px solid #aa8e1880;background:#fff7cd88;border-radius:50%;font-size:clamp(9px,2.5vw,14px);font-weight:800;color:#8c792e}
.kc-stamp.done{background:var(--kc-ink);border-color:var(--kc-ink);color:var(--kc-yellow)}
.kc-stamp.next{border:2px solid var(--kc-ink);background:#fff9d0;color:var(--kc-ink);box-shadow:none}
.kc-stamp.reward{border-style:dashed}
.kclub .kc-stamp.reward svg{width:clamp(13px,4vw,22px);height:clamp(13px,4vw,22px)}
.kc-stamp.reward.done{background:var(--kc-ink)}
.kc-bar{height:6px;margin-top:19px;background:#ae941f40;border-radius:8px;overflow:hidden}
.kc-bar i{display:block;background:var(--kc-ink);height:100%;width:0;transition:width .4s}
.kc-punch-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:11px;font-size:11px;font-weight:700}
.kc-punch-bottom span:last-child{color:#736021;text-align:right}
.kc-ready{display:block;background:var(--kc-ink);border:0;color:white;padding:13px;border-radius:14px;width:100%;font-weight:700;margin-top:17px}
.kc-ready.in-cart{background:#fff;color:var(--kc-ink)}
.kc-rewards{border:1px solid #e8e8df;border-radius:27px;padding:21px 17px 19px;margin-top:20px;background:#fff;scroll-margin-top:90px}
.kc-reward-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kc-reward-heading h2{font-size:22px;letter-spacing:-.7px;margin:0;line-height:1.2}
.kc-gift-emblem{background:#fff6c2;border-radius:13px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.kc-reward-rule{font-size:12px;color:var(--kc-muted);margin:7px 0 18px;line-height:1.6}
.kc-reward-label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px;margin:16px 0 13px}
.kc-reward-label span{background:#f5f5ed;color:#828476;border-radius:12px;padding:3px 7px;font-size:10px}
.kc-reward-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 6px}
.kc-reward-tile{display:flex;align-items:center;flex-direction:column;gap:7px;min-width:0;background:white;border:1.5px solid transparent;border-radius:17px;padding:8px 3px;color:var(--kc-ink);position:relative;text-align:center}
.kc-reward-thumb{position:relative;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:17px;overflow:hidden;background:#f4f4ed;border:2px solid transparent}
.kc-reward-thumb img{width:100%;height:100%;object-fit:cover}
.kc-reward-name{font-size:10.5px;line-height:1.3;font-weight:700;max-width:100px;min-height:27px}
.kc-reward-tile[aria-pressed=true]{border-color:#e3bc13;background:#fffbea}
.kc-reward-tile[aria-pressed=true] .kc-reward-thumb{border-color:#dbb217}
.kc-reward-tile[aria-pressed=true]:after{content:'✓';position:absolute;right:8px;top:4px;font-size:13px;font-weight:bold;color:#776007}
.kc-selection-note{font-size:12px;line-height:1.6;color:#77796d;border-top:1px solid #eeeee5;padding-top:13px;margin:14px 0 0}
.kc-login{display:block;width:100%;margin-top:12px;border:0;border-radius:14px;padding:13px;background:var(--kc-yellow);color:var(--kc-ink);font-weight:800}
.kc-tip{padding:18px 20px;border-radius:21px;background:#f7f7ef;display:flex;align-items:flex-start;gap:13px;margin-top:17px}
.kclub .kc-tip svg{width:21px;height:21px}
.kc-tip p{margin:0;font-size:12px;line-height:1.6;color:#696c60}
.kc-tip b{display:block;color:#25281f}
@media(min-width:700px){.kc-punch{padding:30px}.kc-stamps{grid-template-columns:repeat(10,1fr)}.kc-punch-title{font-size:25px}.kc-reward-icons{grid-template-columns:repeat(6,1fr)}.kc-reward-thumb{width:64px;height:64px}}
/* Gift line in the cart */
.gift-line .line-image{background:#fff6c2}
.gift-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;background:#fff6c2;color:#5b4b05;border-radius:10px;padding:3px 8px;margin:2px 0 4px}
.gift-tag svg{width:13px;height:13px}
.gift-spice{display:flex;gap:6px;margin:6px 0 2px}
.gift-spice button{border:1px solid #e3e3d8;background:#fff;border-radius:12px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer}
.gift-spice button[aria-pressed=true]{background:#ffdf2d;border-color:#ffdf2d}
.gift-line .line-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.gift-line .line-side small{color:#8b8d81}
