/* Penny's Love live chat bubble — namespaced plc- so it never collides with the storefront. */
.plc-root{--plc-rose:#a96b73;--plc-rose-dark:#8e5660;--plc-deep:#312426;--plc-text:#332829;--plc-muted:#7b686b;--plc-ivory:#fffaf7;--plc-line:#ead9db;--plc-sage:#8f9f8c;
  position:fixed;right:22px;bottom:22px;z-index:85;font-family:Manrope,system-ui,sans-serif;color:var(--plc-text)}
.plc-root *{box-sizing:border-box}
.plc-root [hidden]{display:none!important}
.plc-fab{position:relative;width:60px;height:60px;border:0;border-radius:50%;background:var(--plc-rose);color:#fff;display:grid;place-items:center;cursor:pointer;
  box-shadow:0 12px 30px rgba(169,107,115,.42);transition:transform .2s ease,background .2s ease}
.plc-fab:hover{transform:translateY(-2px);background:var(--plc-rose-dark)}
.plc-fab:focus-visible{outline:3px solid #f2d9dc;outline-offset:3px}
.plc-fab svg{width:27px;height:27px;fill:currentColor}
.plc-fab .plc-dot{position:absolute;top:3px;right:3px;width:14px;height:14px;border-radius:50%;background:var(--plc-sage);border:2px solid #fff}
.plc-fab .plc-badge{position:absolute;top:-4px;left:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--plc-deep);color:#fff;
  font:700 12px/22px Manrope,system-ui,sans-serif;text-align:center;border:2px solid #fff}
.plc-root.plc-open .plc-fab{display:none}

.plc-panel{position:absolute;right:0;bottom:0;width:360px;max-width:calc(100vw - 32px);height:min(560px,calc(100vh - 44px));height:min(560px,calc(100dvh - 44px));
  display:none;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 28px 80px rgba(80,45,50,.22);
  animation:plc-in .22s cubic-bezier(.2,.8,.2,1)}
.plc-root.plc-open .plc-panel{display:flex}
@keyframes plc-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

.plc-head{display:flex;align-items:center;gap:12px;padding:15px 16px;color:#fff;background:linear-gradient(135deg,var(--plc-rose),var(--plc-rose-dark))}
.plc-head.plc-offline{background:linear-gradient(135deg,#9b8b8d,#7b686b)}
.plc-avatar{flex:0 0 40px;height:40px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font:500 18px 'Playfair Display',Georgia,serif}
.plc-title{flex:1;min-width:0}
.plc-title b{display:block;font:500 17px/1.2 'Playfair Display',Georgia,serif}
.plc-title small{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.92;margin-top:2px}
.plc-title small::before{content:"";width:7px;height:7px;border-radius:50%;background:#bfe0b8;flex:0 0 7px}
.plc-head.plc-offline .plc-title small::before{background:#d6cfd0}
.plc-close{width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:20px;line-height:1;cursor:pointer}
.plc-close:hover{background:rgba(255,255,255,.28)}

.plc-body{flex:1;overflow-y:auto;padding:16px;background:var(--plc-ivory);display:flex;flex-direction:column;gap:9px;overscroll-behavior:contain}
.plc-msg{max-width:82%;padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.plc-msg.plc-them{align-self:flex-start;background:#fff;border:1px solid var(--plc-line);border-bottom-left-radius:5px}
.plc-msg.plc-me{align-self:flex-end;background:var(--plc-rose);color:#fff;border-bottom-right-radius:5px}
.plc-msg.plc-pending{opacity:.6}
.plc-time{font-size:10.5px;color:var(--plc-muted);margin:-4px 2px 2px}
.plc-time.plc-me{align-self:flex-end}
.plc-note.plc-system{background:#fff;border:1px dashed var(--plc-line);border-radius:12px;padding:7px 12px;margin:4px 0}
.plc-receipt{align-self:flex-end;font-size:10.5px;color:var(--plc-muted);margin:-2px 2px 0}
.plc-receipt.plc-read{color:var(--plc-rose);font-weight:700}
.plc-note{align-self:center;text-align:center;font-size:12px;color:var(--plc-muted);padding:4px 10px;max-width:90%}

.plc-form{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.plc-form label{font-size:12px;color:var(--plc-muted);display:flex;flex-direction:column;gap:5px}
.plc-form input,.plc-form textarea{width:100%;border:1px solid var(--plc-line);border-radius:12px;padding:10px 12px;font:14px Manrope,system-ui,sans-serif;color:var(--plc-text);background:#fff}
.plc-form textarea{min-height:80px;resize:vertical}
.plc-form input:focus,.plc-form textarea:focus,.plc-compose textarea:focus{outline:2px solid #f2d9dc;border-color:var(--plc-rose)}
.plc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.plc-btn{border:0;border-radius:999px;padding:12px;background:var(--plc-rose);color:#fff;font:700 14px Manrope,system-ui,sans-serif;cursor:pointer}
.plc-btn:hover{background:var(--plc-rose-dark)}
.plc-btn:disabled{opacity:.6;cursor:default}
.plc-error{color:#b42318;font-size:12.5px;min-height:0}
.plc-privacy{font-size:11px;color:var(--plc-muted);line-height:1.4}
.plc-privacy a{color:var(--plc-rose)}

.plc-compose{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--plc-line);background:#fff}
.plc-compose textarea{flex:1;border:1px solid var(--plc-line);border-radius:20px;padding:10px 14px;font:14px/1.35 Manrope,system-ui,sans-serif;color:var(--plc-text);
  resize:none;max-height:110px;min-height:42px}
.plc-send{flex:0 0 42px;height:42px;border:0;border-radius:50%;background:var(--plc-rose);color:#fff;cursor:pointer;display:grid;place-items:center}
.plc-send svg{width:18px;height:18px;fill:currentColor}
.plc-send:disabled{opacity:.5;cursor:default}

@media (max-width:620px){
  .plc-root{right:14px;bottom:calc(14px + var(--plc-mobile-lift,0px))}
  .plc-fab{width:56px;height:56px}
  .plc-root.plc-open{left:0;right:0;bottom:0}
  .plc-panel{width:100%;max-width:none;height:min(620px,calc(100vh - 56px));height:min(620px,calc(100dvh - 56px));border-radius:22px 22px 0 0}
}
@media (prefers-reduced-motion:reduce){.plc-panel{animation:none}.plc-fab{transition:none}}
@media print{.plc-root{display:none}}
