:root{--rya-primary:#1a1a2e;--rya-secondary:#e94560;--rya-bg:#ffffff;--rya-msg-bg:#f0f2f5;--rya-radius:18px;--rya-shadow:0 8px 32px rgba(0,0,0,.18)}

/* ── Trigger button ── */
#rya-trigger{position:fixed;bottom:24px;width:58px;height:58px;border-radius:50%;background:var(--rya-primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:99998;box-shadow:var(--rya-shadow);transition:transform .2s}
#rya-trigger:hover{transform:scale(1.08)}
#rya-trigger svg{width:28px;height:28px;fill:#fff}
#rya-trigger.rya-right{right:24px}
#rya-trigger.rya-left{left:24px}
.rya-trigger-pulse{position:absolute;top:0;right:0;width:14px;height:14px;border-radius:50%;background:var(--rya-secondary);border:2px solid #fff;animation:rya-pulse 2s infinite}
@keyframes rya-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}

/* ── Chat window ── */
#rya-window{position:fixed;bottom:92px;width:360px;max-height:600px;background:var(--rya-bg);border-radius:20px;box-shadow:var(--rya-shadow);z-index:99999;display:none;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;transition:opacity .25s,transform .25s}
#rya-window.rya-right{right:24px}
#rya-window.rya-left{left:24px}
#rya-window.rya-open{display:flex;animation:rya-slidein .25s ease}
#rya-window.rya-closing{animation:rya-slideout .2s ease forwards}
@keyframes rya-slidein{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes rya-slideout{to{opacity:0;transform:translateY(16px)}}
@media(max-width:400px){#rya-window{width:calc(100vw - 16px);right:8px!important;left:8px!important;bottom:80px;max-height:85vh}}

/* ── Header ── */
.rya-header{background:var(--rya-primary);color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-radius:20px 20px 0 0}
.rya-header-info{display:flex;align-items:center;gap:10px}
.rya-avatar{font-size:22px;line-height:1}
.rya-header-name{font-weight:600;font-size:15px}
.rya-status{display:flex;align-items:center;gap:5px;font-size:12px;opacity:.85}
.rya-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:rya-pulse 2s infinite}
.rya-header-actions{display:flex;align-items:center;gap:4px}
.rya-header-actions button,.rya-wa-icon{background:rgba(255,255,255,.15);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;text-decoration:none;transition:background .15s}
.rya-header-actions button:hover,.rya-wa-icon:hover{background:rgba(255,255,255,.28)}
.rya-wa-icon svg{width:17px;height:17px;fill:#fff}

/* ── Messages ── */
#rya-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth}
#rya-messages::-webkit-scrollbar{width:4px}
#rya-messages::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:4px}
.rya-msg{display:flex;flex-direction:column;max-width:85%}
.rya-bot{align-self:flex-start}
.rya-user{align-self:flex-end}
.rya-bubble{padding:10px 14px;border-radius:var(--rya-radius);line-height:1.55;word-break:break-word}
.rya-bot .rya-bubble{background:var(--rya-msg-bg);border-bottom-left-radius:4px;color:#1a1a1a}
.rya-user .rya-bubble{background:var(--rya-primary);color:#fff;border-bottom-right-radius:4px}
.rya-bubble a{color:var(--rya-secondary);text-decoration:underline}
.rya-bubble strong{font-weight:600}
.rya-msg-time{font-size:11px;color:#aaa;margin-top:3px;padding:0 4px}
.rya-user .rya-msg-time{text-align:right}

/* ── Typing ── */
#rya-typing{display:none;padding:8px 16px;gap:5px}
#rya-typing.active{display:flex;align-items:center}
#rya-typing span{width:8px;height:8px;border-radius:50%;background:#ccc;animation:rya-bounce .9s infinite}
#rya-typing span:nth-child(2){animation-delay:.15s}
#rya-typing span:nth-child(3){animation-delay:.3s}
@keyframes rya-bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}

/* ── Quick buttons ── */
#rya-quick{padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #f0f0f0}
.rya-qbtn{background:#f5f5f8;border:1px solid #e0e0e8;border-radius:20px;padding:6px 12px;font-size:12px;cursor:pointer;color:#444;transition:background .15s,border-color .15s;white-space:nowrap}
.rya-qbtn:hover{background:var(--rya-primary);color:#fff;border-color:var(--rya-primary)}

/* ── Product cards (variants / single) ── */
.rya-products-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rya-prod-card{background:#fff;border:1.5px solid #e8e8ee;border-radius:14px;padding:10px;cursor:pointer;transition:border-color .15s,transform .12s;width:calc(50% - 4px);box-sizing:border-box;display:flex;flex-direction:column;gap:6px}
.rya-prod-card:hover{border-color:var(--rya-primary);transform:translateY(-2px)}
.rya-prod-card.out-of-stock{opacity:.55;cursor:not-allowed}
.rya-prod-card img{width:100%;height:80px;object-fit:cover;border-radius:8px;background:#f0f0f0}
.rya-prod-card .rya-prod-img-placeholder{width:100%;height:80px;border-radius:8px;background:linear-gradient(135deg,#e8e8f0,#d0d0dc);display:flex;align-items:center;justify-content:center;font-size:28px}
.rya-prod-title{font-size:12px;font-weight:600;line-height:1.3;color:#222;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rya-prod-price{font-size:13px;font-weight:700;color:var(--rya-secondary)}
.rya-prod-price-orig{font-size:11px;color:#999;text-decoration:line-through}
.rya-prod-stock{font-size:10px}
.rya-in-stock{color:#16a34a}
.rya-out-stock{color:#dc2626}
.rya-prod-add{background:var(--rya-primary);color:#fff;border:none;border-radius:8px;padding:6px;font-size:11px;cursor:pointer;width:100%;margin-top:2px;transition:background .15s}
.rya-prod-add:hover{background:var(--rya-secondary)}
.rya-prod-add:disabled{background:#ccc;cursor:not-allowed}

/* ── Single book card ── */
.rya-single-card{background:#fff;border:1.5px solid #e8e8ee;border-radius:14px;padding:12px;margin-top:8px;display:flex;gap:10px;align-items:flex-start}
.rya-single-img{width:60px;height:80px;object-fit:cover;border-radius:8px;flex-shrink:0;background:#f0f0f0}
.rya-single-img-ph{width:60px;height:80px;border-radius:8px;background:linear-gradient(135deg,#e8e8f0,#d0d0dc);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}
.rya-single-info{flex:1;min-width:0}
.rya-single-title{font-size:13px;font-weight:600;color:#222;margin-bottom:4px;line-height:1.3}
.rya-single-price{font-size:15px;font-weight:700;color:var(--rya-secondary);margin-bottom:2px}
.rya-single-cat{font-size:11px;color:#888;margin-bottom:8px}
.rya-single-btns{display:flex;gap:6px}
.rya-btn-add{background:var(--rya-primary);color:#fff;border:none;border-radius:8px;padding:7px 12px;font-size:12px;cursor:pointer;flex:1;transition:background .15s}
.rya-btn-add:hover{background:var(--rya-secondary)}
.rya-btn-view{background:#f5f5f8;border:1px solid #ddd;color:#555;border-radius:8px;padding:7px 10px;font-size:12px;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center}
.rya-btn-view:hover{border-color:#aaa}

/* ── Cart bar ── */
#rya-cart-bar{background:var(--rya-primary);color:#fff;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px}
#rya-cart-summary{font-size:12px;flex:1}
#rya-cart-checkout{background:var(--rya-secondary);color:#fff;border:none;border-radius:8px;padding:7px 12px;font-size:12px;cursor:pointer;white-space:nowrap;transition:opacity .15s}
#rya-cart-checkout:hover{opacity:.88}

/* ── Order form ── */
.rya-form-wrap{background:#f8f8fb;border-radius:14px;padding:14px;margin-top:8px}
.rya-form-title{font-size:13px;font-weight:600;color:#222;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.rya-form-cart-items{background:#fff;border-radius:10px;padding:10px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}
.rya-form-cart-item{display:flex;align-items:center;gap:8px;font-size:12px}
.rya-form-cart-item img{width:36px;height:48px;object-fit:cover;border-radius:5px;background:#eee}
.rya-form-cart-item-ph{width:36px;height:48px;border-radius:5px;background:#eee;display:flex;align-items:center;justify-content:center;font-size:18px}
.rya-form-cart-item-info{flex:1;min-width:0}
.rya-form-cart-item-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rya-form-cart-item-price{color:var(--rya-secondary);font-weight:600}
.rya-form-cart-item-remove{color:#dc2626;cursor:pointer;font-size:16px;padding:0 4px;background:none;border:none;flex-shrink:0}
.rya-form-total{font-size:13px;font-weight:600;text-align:right;color:#222;padding-top:6px;border-top:1px solid #eee}
.rya-form-fields{display:flex;flex-direction:column;gap:8px}
.rya-form-field{display:flex;flex-direction:column;gap:3px}
.rya-form-field label{font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.04em}
.rya-form-field input,.rya-form-field textarea,.rya-form-field select{border:1.5px solid #ddd;border-radius:10px;padding:9px 12px;font-size:13px;color:#222;background:#fff;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box;font-family:inherit}
.rya-form-field input:focus,.rya-form-field textarea:focus,.rya-form-field select:focus{border-color:var(--rya-primary)}
.rya-form-field .rya-hint{font-size:10px;color:#888}
.rya-form-field.rya-crm-prefilled input{background:#fffbe6;border-color:#f59e0b}
.rya-form-field.rya-crm-prefilled .rya-crm-badge{font-size:10px;color:#b45309;background:#fef3c7;padding:1px 6px;border-radius:8px;display:inline-block;margin-top:2px}
.rya-pay-methods{display:flex;gap:8px;flex-wrap:wrap}
.rya-pay-btn{flex:1;min-width:80px;border:2px solid #ddd;border-radius:10px;padding:8px 6px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:#fff;font-size:12px;color:#444}
.rya-pay-btn:hover{border-color:var(--rya-primary)}
.rya-pay-btn.active{border-color:var(--rya-primary);background:var(--rya-primary);color:#fff}
.rya-form-submit{width:100%;background:var(--rya-secondary);color:#fff;border:none;border-radius:12px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;margin-top:10px;transition:opacity .15s}
.rya-form-submit:hover{opacity:.88}
.rya-form-submit:disabled{opacity:.5;cursor:not-allowed}
.rya-form-err{font-size:12px;color:#dc2626;background:#fee2e2;padding:8px 10px;border-radius:8px;margin-top:6px}

/* ── WhatsApp confirmation card ── */
.rya-order-done{background:#f0fdf4;border:1.5px solid #86efac;border-radius:14px;padding:14px;margin-top:8px;text-align:center}
.rya-order-done .rya-ref{font-size:13px;color:#166534;font-weight:600;margin-bottom:8px}
.rya-wa-confirm-btn{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;border:none;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .15s}
.rya-wa-confirm-btn:hover{opacity:.88;color:#fff}
.rya-wa-confirm-btn svg{width:20px;height:20px;fill:#fff}

/* ── Waitlist ── */
.rya-waitlist-wrap{background:#fff8e7;border:1.5px solid #fcd34d;border-radius:12px;padding:12px;margin-top:8px}
.rya-waitlist-wrap p{font-size:12px;color:#92400e;margin-bottom:8px}
.rya-waitlist-input{display:flex;gap:6px}
.rya-waitlist-input input{flex:1;border:1.5px solid #ddd;border-radius:8px;padding:7px 10px;font-size:12px;outline:none}
.rya-waitlist-input button{background:#f59e0b;color:#fff;border:none;border-radius:8px;padding:7px 12px;font-size:12px;cursor:pointer}

/* ── Input area ── */
#rya-input-area{padding:10px 12px;border-top:1px solid #f0f0f0;display:flex;gap:8px;align-items:center;background:#fff}
#rya-input{flex:1;border:1.5px solid #e0e0e8;border-radius:20px;padding:9px 14px;font-size:13px;outline:none;transition:border-color .15s;font-family:inherit;color:#222}
#rya-input:focus{border-color:var(--rya-primary)}
#rya-send{background:var(--rya-primary);color:#fff;border:none;width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
#rya-send:hover{background:var(--rya-secondary)}
#rya-send svg{width:18px;height:18px;fill:#fff}

/* ── Footer ── */
.rya-footer{text-align:center;font-size:11px;color:#bbb;padding:6px;background:#fff}

/* ── Low stock badge ── */
.rya-low-stock{background:#fef3c7;color:#b45309;font-size:10px;padding:1px 6px;border-radius:6px;font-weight:600}
