/* ===================================================================
   KKD Cake & Order Assistant
   =================================================================== */
.kkd-launch{
  position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:70;
  display:inline-flex;align-items:center;gap:.65rem;border:0;cursor:pointer;
  background:var(--plum);color:#fff;border-radius:100px;padding:.9rem 1.35rem .9rem 1.05rem;
  box-shadow:0 12px 34px rgba(58,26,32,.32);
  font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  transition:background .3s ease,transform .3s ease,box-shadow .3s ease;
}
.kkd-launch:hover{background:var(--rose-deep);transform:translateY(-2px);box-shadow:0 16px 40px rgba(58,26,32,.38)}
.kkd-launch-icon{display:grid;place-items:center;width:26px;height:26px;flex:none}
.kkd-launch-icon svg{width:24px;height:24px;fill:none;stroke:var(--gold-soft);stroke-width:1.3}
.kkd-launch-icon circle{fill:var(--gold-soft);stroke:none}
body.kkd-open .kkd-launch{opacity:0;pointer-events:none}

.kkd-assistant[hidden]{display:none}
.kkd-assistant{
  position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:75;
  width:min(400px,calc(100vw - 2rem));max-height:min(620px,calc(100svh - 2rem));
  background:var(--cream);border:1px solid var(--line);border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(58,26,32,.32);
  animation:kkdIn .32s cubic-bezier(.2,.7,.2,1);
}
@keyframes kkdIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.kkd-assistant{animation:none}}

.kkd-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:var(--plum);color:#fff;padding:1rem 1.1rem;flex:none;
}
.kkd-head b{display:block;font-family:var(--serif);font-weight:400;font-size:1.12rem;letter-spacing:.01em}
.kkd-head span{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#D9C4CB;margin-top:.2rem}
.kkd-close{background:transparent;border:1px solid rgba(255,255,255,.28);color:#fff;width:34px;height:34px;
  border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:.85rem;flex:none;transition:background .25s}
.kkd-close:hover{background:rgba(255,255,255,.14)}

.kkd-log{flex:1;overflow-y:auto;padding:1.2rem 1.1rem .4rem;display:flex;flex-direction:column;gap:.7rem}
.kkd-msg{
  font-size:.92rem;line-height:1.6;padding:.8rem 1rem;border-radius:12px;max-width:88%;
  background:#fff;border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:3px;
}
.kkd-msg a{color:var(--rose-deep);border-bottom:1px solid var(--gold-soft)}
.kkd-msg--you{align-self:flex-end;background:var(--plum);color:#fff;border-color:var(--plum);
  border-bottom-left-radius:12px;border-bottom-right-radius:3px}
.kkd-brief{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.3rem;font-size:.88rem}
.kkd-brief b{display:inline-block;min-width:6.5rem;color:var(--gold);font-weight:500;
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}

.kkd-choices{padding:.6rem 1.1rem 1rem;display:flex;flex-wrap:wrap;gap:.45rem;flex:none}
.kkd-chip{
  font-family:var(--sans);font-size:.78rem;line-height:1.2;letter-spacing:.02em;
  border:1px solid var(--line);background:#fff;color:var(--plum);border-radius:100px;
  padding:.6rem 1rem;cursor:pointer;transition:all .25s ease;text-align:left;
}
.kkd-chip:hover{border-color:var(--rose);color:var(--rose-deep)}
.kkd-chip--primary{background:var(--plum);border-color:var(--plum);color:#fff}
.kkd-chip--primary:hover{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff}
.kkd-input{display:flex;gap:.4rem;width:100%;flex-wrap:wrap}
.kkd-input input{
  flex:1 1 12rem;min-width:0;font-family:var(--sans);font-size:.9rem;font-weight:300;color:var(--ink);
  padding:.65rem .9rem;border:1px solid var(--line);border-radius:100px;background:#fff;
}
.kkd-input input:focus{outline:0;border-color:var(--rose);box-shadow:0 0 0 3px rgba(222,27,92,.14)}

.kkd-foot{flex:none;padding:.65rem 1.1rem .9rem;border-top:1px solid var(--line);
  font-size:.68rem;letter-spacing:.06em;color:var(--muted);text-align:center;background:var(--sand)}

@media (max-width:620px){
  .kkd-launch-label{display:none}
  .kkd-launch{padding:.95rem;border-radius:50%}
  .kkd-assistant{right:.6rem;left:.6rem;bottom:.6rem;width:auto;max-height:min(80svh,600px)}
  .kkd-msg{max-width:92%}
}
@media print{.kkd-launch,.kkd-assistant{display:none}}
.kkd-list,.kkd-prices{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.28rem;font-size:.88rem}
.kkd-list li{position:relative;padding-left:.9rem}
.kkd-list li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;transform:rotate(45deg);background:var(--gold)}
.kkd-prices li{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px dashed var(--line);padding-bottom:.28rem}
.kkd-prices li:last-child{border-bottom:0}
.kkd-prices li.kkd-sub{font-size:.8rem;color:var(--muted);padding-left:.9rem;
  border-bottom:0;margin-top:-.18rem}
.kkd-prices b{font-weight:400;color:var(--plum)}
