/* ===================== Cakes & Shapes Lite additions ===================== */

/* "Choose" on each cake card */
.choose-btn{display:inline-flex;align-items:center;border-radius:999px;padding:.38rem .9rem;font-size:.8rem;font-weight:600;
  background:var(--pink);color:#fff;text-decoration:none;white-space:nowrap;transition:background .15s}
.choose-btn:hover{background:var(--brown)}
.lb-cat{color:#e8d5c9;font-size:.9rem}
.nav a[aria-current="page"]{color:var(--pink)}

/* "Already have a cake code?" box */
.code-box{margin-top:1.6rem;max-width:420px}
.code-box label{display:block;margin-bottom:.4rem;color:var(--brown-2)}
.code-box-row{display:flex;gap:.5rem}
.code-box input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.04em}
.code-box input::placeholder{text-transform:none;letter-spacing:0;font-family:var(--sans)}
.code-box .btn{flex:0 0 auto;padding:.7rem 1.2rem}
.section-head .code-box{margin-top:0;min-width:min(100%,320px)}

/* One cake's page */
.cake-one{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}
.cake-one-photo{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.cake-one-info h1{font-size:clamp(1.8rem,4vw,2.8rem)}
.cake-one-info .lede{font-size:1.1rem;color:var(--brown-2)}
.cake-code.big{display:inline-block;font-size:1rem;background:var(--pink-soft);border-radius:999px;padding:.3rem .9rem;margin-bottom:.8rem}
@media(max-width:820px){.cake-one{grid-template-columns:1fr}}

/* ===================== Order steps ===================== */
body.is-order{background:linear-gradient(180deg,var(--pink-soft) 0,var(--cream) 420px)}
.wz-wrap{max-width:760px}
.wz-top{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.wz-bar{flex:1;height:8px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.wz-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),var(--cherry));border-radius:999px;transition:width .35s ease}
.wz-count{margin:0;font-size:.85rem;white-space:nowrap}
.wz-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(1.3rem,4vw,2.4rem);animation:wzIn .28s ease}
@keyframes wzIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wz-h{font-size:clamp(1.6rem,4vw,2.3rem);margin-bottom:.4rem;outline:none}
.wz-help{margin:0 0 1.2rem}
.wz-hint{font-size:.85rem;margin:.45rem 0 0}
.wz-hint.ok{color:#156136;font-weight:600}
.wz-foot{text-align:center;margin-top:1.2rem}

/* answer buttons */
.wz-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem;margin-top:1.2rem}
.wz-opt{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;
  font:500 1rem var(--sans);color:var(--ink);background:var(--cream);border:2px solid var(--line);border-radius:14px;
  padding:.9rem 1rem .9rem 2.6rem;cursor:pointer;transition:border-color .15s,background .15s,transform .1s;min-height:52px;justify-content:center}
.wz-opt::before{content:"";position:absolute;left:.95rem;top:50%;translate:0 -50%;width:18px;height:18px;border-radius:50%;
  border:2px solid #d8c4b8;background:#fff;transition:all .15s}
.wz-opt.is-multi::before{border-radius:6px}
.wz-opt:hover{border-color:var(--pink)}
.wz-opt:active{transform:scale(.98)}
.wz-opt[aria-checked="true"],.wz-opt[aria-pressed="true"]{border-color:var(--pink);background:var(--pink-soft)}
.wz-opt[aria-checked="true"]::before,.wz-opt[aria-pressed="true"]::before{background:var(--pink);border-color:var(--pink);
  box-shadow:inset 0 0 0 3px #fff}
.wz-opt.is-multi[aria-pressed="true"]::before{box-shadow:none;background:var(--pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.wz-opt small{font-size:.8rem;color:var(--muted);font-weight:400}
.wz-asks{display:grid;gap:.7rem;margin-top:.9rem}
.wz-asks:empty{display:none}
.wz-ask{display:flex;flex-direction:column;gap:.35rem;font-weight:600}
.wz-ask span{font-size:.9rem;color:var(--brown-2)}
.wz-text,.wz-date{margin-top:1.2rem;font-size:1.1rem}
.wz-date{max-width:280px}

/* design step */
.wz-pick:empty{display:none}
.wz-pick{margin:1rem 0}
.wz-pick-card{display:flex;align-items:center;gap:1rem;text-decoration:none;background:var(--pink-soft);border-radius:16px;padding:.7rem;color:inherit}
.wz-pick-card img{width:110px;height:110px;border-radius:12px;object-fit:cover;flex:0 0 auto}
.wz-pick-card span{display:flex;flex-direction:column;gap:.15rem}
.wz-pick-card b.cake-code{font-size:1.15rem}
.wz-pick-card small{color:var(--muted)}
.wz-pick-card em{font-style:normal;font-size:.82rem;color:var(--pink);font-weight:600}
.wz-codewrap{margin-top:1rem}
.wz-codewrap label{display:block;margin-bottom:.35rem}
.wz-code-in{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.2rem;letter-spacing:.05em;text-transform:uppercase;max-width:320px}
.wz-code-in::placeholder{text-transform:none;letter-spacing:0}
.wz-browse{margin:.7rem 0 0;font-size:.92rem}
.wz-or{display:flex;align-items:center;gap:.8rem;margin:1.3rem 0;color:var(--muted);font-size:.85rem}
.wz-or::before,.wz-or::after{content:"";flex:1;height:1px;background:var(--line)}
.wz-idea-btn{width:100%}
.wz-idea{margin-top:.9rem}
.wz-idea label{display:block;margin-bottom:.35rem}

/* contact + review */
.wz-contact{margin-top:.5rem}
.wz-sum{margin:1rem 0 0;display:grid;gap:0}
.wz-sum-row{display:grid;grid-template-columns:150px 1fr auto;gap:.4rem 1rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--line)}
.wz-sum-row:last-child{border-bottom:0}
.wz-sum dt{color:var(--muted);font-size:.88rem}
.wz-sum dd{margin:0;display:flex;align-items:center;gap:.7rem;overflow-wrap:anywhere}
.wz-sum dd img{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:0 0 auto}
.linkish{background:none;border:0;padding:0;color:var(--pink);font:600 .88rem var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.wz-sum-row{grid-template-columns:1fr auto}.wz-sum dt{grid-column:1/-1}.wz-sum dd{grid-column:1/2}}
.wz-sendrow{display:flex;justify-content:center;margin:1.6rem 0 .3rem}
.wz-send{font-size:1.15rem;padding:1rem 2rem;box-shadow:0 10px 26px rgba(37,211,102,.35)}
.wz-send[disabled]{opacity:.75;cursor:wait;transform:none}

/* step navigation */
.wz-msg{min-height:1.3em;margin:1.2rem 0 0;color:var(--cherry);font-size:.9rem;font-weight:500}
.wz-msg.shake{animation:wzShake .35s}
@keyframes wzShake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.wz-nav{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-top:.6rem}
.wz-nav .btn{min-width:120px}

/* done */
.wz-done{text-align:center}
.wz-done p{max-width:52ch;margin-inline:auto}
.wz-done-ico{font-size:3rem;line-height:1;margin-bottom:.6rem}

@media(max-width:560px){
  .wz-opts{grid-template-columns:1fr}
  .wz-nav .btn{min-width:0;flex:1}
  .wz-card{border-radius:18px}
}
