/* ========== MATREX AI SHOPPING ASSISTANT ========== */

/* --- AI Banner (homepage) --- */
.ai-banner{background:linear-gradient(135deg,#E65100 0%,#F57C00 50%,#FFB300 100%);color:#fff;padding:28px 24px;display:flex;align-items:center;gap:20px;border-radius:16px;margin:0 auto 32px;max-width:1200px;cursor:default;box-shadow:0 4px 20px rgba(230,81,0,.25)}
.ai-banner-icon{font-size:36px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}
.ai-banner-txt{flex:1}
.ai-banner-txt h3{font-family:'Plus Jakarta Sans','DM Sans',sans-serif;font-size:18px;font-weight:700;margin:0 0 4px}
.ai-banner-txt p{font-size:14px;opacity:.9;margin:0}
.ai-banner-btn{padding:12px 24px;background:#fff;color:#E65100;border:none;border-radius:999px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.ai-banner-btn:hover{background:#FFF3E0;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2)}

/* --- AI Header button --- */
.ai-hdr-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#E65100,#F57C00);color:#fff;border:none;border-radius:999px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 10px rgba(230,81,0,.35);animation:ai-pulse 2.5s ease-in-out infinite}
.ai-hdr-btn:hover{box-shadow:0 4px 16px rgba(230,81,0,.5);transform:translateY(-1px);animation:none}
.ai-hdr-btn .ai-hdr-btn-label{display:inline}
.ai-hdr-btn .ai-hdr-btn-icon{font-size:16px;line-height:1}
@keyframes ai-pulse{0%,100%{box-shadow:0 2px 10px rgba(230,81,0,.35)}50%{box-shadow:0 2px 18px rgba(230,81,0,.55)}}

/* Body lock when AI panel is open */
html.ai-open,html.ai-open body{overflow:hidden;position:fixed;width:100%;height:100%;overscroll-behavior:none}

/* Overlay — also blocks touch on background */
.ai-overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:9990;opacity:0;pointer-events:none;transition:opacity .3s;touch-action:none;overscroll-behavior:none}
.ai-overlay.open{opacity:1;pointer-events:auto}

/* Panel */
.ai-panel{display:none;position:fixed;top:0;right:0;bottom:0;width:460px;background:#fff;z-index:9991;flex-direction:column;box-shadow:-8px 0 32px rgba(0,0,0,.1);overscroll-behavior:none;touch-action:auto}
.ai-panel.open{display:flex}

/* Header */
.ai-hdr{background:linear-gradient(135deg,#2E7D32,#1B5E20);color:#fff;padding:14px 20px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.ai-hdr-back{width:32px;height:32px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:18px;cursor:pointer;display:none;align-items:center;justify-content:center;transition:background .2s}
.ai-hdr-back:hover{background:rgba(255,255,255,.3)}
.ai-hdr-back.vis{display:flex}
.ai-hdr-av{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:18px}
.ai-hdr-txt{flex:1}
.ai-hdr-t{font-family:'Plus Jakarta Sans','DM Sans',sans-serif;font-size:15px;font-weight:700}
.ai-hdr-s{font-size:11px;opacity:.75}
.ai-hdr-x{width:32px;height:32px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.ai-hdr-x:hover{background:rgba(255,255,255,.3)}

/* Steps bar */
.ai-steps{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#F8FAFC;border-bottom:1px solid #E2E8F0;flex-shrink:0}
.ai-dot{width:8px;height:8px;border-radius:50%;background:#E2E8F0;transition:background .3s}
.ai-dot.on{background:#2E7D32}
.ai-step-lbl{font-size:12px;color:#64748B;margin-left:8px;font-weight:500}

/* Content */
.ai-body{flex:1;overflow-y:auto;padding:24px 20px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.ai-body::-webkit-scrollbar{width:4px}
.ai-body::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:4px}

/* Bot message */
.ai-msg{font-size:15px;color:#1E293B;line-height:1.65;margin-bottom:20px;background:#F8FAFC;padding:16px;border-radius:12px;border-left:3px solid #2E7D32;white-space:pre-line}

/* Category grid */
.ai-cats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.ai-cat{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;background:#F8FAFC;border:1.5px solid #E2E8F0;border-radius:14px;cursor:pointer;transition:all .2s;text-align:center}
.ai-cat:hover{border-color:#2E7D32;background:#E8F5E9;transform:translateY(-1px)}
.ai-cat-i{font-size:28px}
.ai-cat-n{font-size:13px;font-weight:600;color:#1E293B}

/* Option list */
.ai-opts{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.ai-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#F8FAFC;border:1.5px solid #E2E8F0;border-radius:12px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;color:#1E293B}
.ai-opt:hover{border-color:#2E7D32;background:#E8F5E9}
.ai-opt-i{font-size:20px;width:28px;text-align:center}

/* Budget pills */
.ai-budgets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ai-bud{padding:10px 20px;background:#fff;color:#2E7D32;border:1.5px solid #2E7D32;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif}
.ai-bud:hover{background:#2E7D32;color:#fff}

/* Product recommendation cards */
.ai-recs{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}
.ai-rec{background:#fff;border-radius:14px;border:1.5px solid #E2E8F0;overflow:hidden;transition:box-shadow .2s}
.ai-rec:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.ai-rec-badge{padding:6px 16px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.ai-rec-badge.best{background:linear-gradient(135deg,#2E7D32,#43A047);color:#fff}
.ai-rec-badge.value{background:linear-gradient(135deg,#1565C0,#42A5F5);color:#fff}
.ai-rec-badge.prem{background:linear-gradient(135deg,#6A1B9A,#AB47BC);color:#fff}
.ai-rec-top{padding:16px;display:flex;gap:16px}
.ai-rec-img{width:110px;height:110px;flex-shrink:0;background:#F8FAFC;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ai-rec-img img{max-width:100%;max-height:100%;object-fit:contain}
.ai-rec-info{flex:1;min-width:0}
.ai-rec-brand{font-size:11px;color:#64748B;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.ai-rec-title{font-size:14px;font-weight:600;color:#1E293B;margin:2px 0 6px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ai-rec-price{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ai-rec-old{text-decoration:line-through;color:#94A3B8;font-size:13px}
.ai-rec-now{font-size:18px;font-weight:800;font-family:'Plus Jakarta Sans','DM Sans',sans-serif;color:#1E293B}
.ai-rec-now.sale{color:#E53935}
.ai-rec-disc{background:#E53935;color:#fff;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:700}
.ai-rec-why{padding:12px 16px;font-size:13px;color:#1E293B;line-height:1.55;background:#F0FDF4;border-left:3px solid #2E7D32;margin:0 16px 12px;border-radius:0 8px 8px 0}
.ai-rec-why em{font-style:normal;color:#2E7D32;font-weight:600}
.ai-rec-btns{padding:0 16px 16px;display:flex;gap:8px}
.ai-rec-buy{flex:1;padding:10px;background:linear-gradient(135deg,#E65100,#F57C00);color:#fff;border:none;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.ai-rec-buy:hover{background:linear-gradient(135deg,#BF360C,#E65100);box-shadow:0 2px 8px rgba(230,81,0,.3)}
.ai-rec-cart{padding:10px;background:#2E7D32;color:#fff;border:none;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s}
.ai-rec-cart:hover{background:#1B5E20}
.ai-rec-view{padding:10px 16px;background:none;color:#2E7D32;border:1.5px solid #2E7D32;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.ai-rec-view:hover{background:#E8F5E9}

/* Bottom actions */
.ai-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ai-act{padding:10px 18px;background:#F1F5F9;color:#475569;border:none;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.ai-act:hover{background:#E2E8F0;color:#1E293B}

/* Input bar */
.ai-foot{padding:12px 20px;background:#fff;border-top:1px solid #E2E8F0;display:flex;gap:8px;flex-shrink:0;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.ai-inp{flex:1;padding:10px 16px;border:1.5px solid #E2E8F0;border-radius:999px;font-size:16px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .2s}
.ai-inp:focus{border-color:#2E7D32}
.ai-inp::placeholder{color:#94A3B8}
.ai-send{width:40px;height:40px;border-radius:50%;background:#2E7D32;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.ai-send:hover{background:#1B5E20}
.ai-send svg{width:18px;height:18px}

/* Loading */
.ai-loading{display:flex;justify-content:center;padding:40px 0}
.ai-spin{width:32px;height:32px;border:3px solid #E2E8F0;border-top-color:#2E7D32;border-radius:50%;animation:ai-sp .6s linear infinite}
@keyframes ai-sp{to{transform:rotate(360deg)}}

/* User message bubble (right-aligned) */
.ai-user-msg{margin:12px 0;padding:12px 16px;background:linear-gradient(135deg,#2E7D32,#43A047);color:#fff;border-radius:16px 16px 4px 16px;font-size:14px;line-height:1.5;max-width:80%;margin-left:auto;text-align:right;word-wrap:break-word;animation:ai-fadeIn .3s;box-shadow:0 1px 4px rgba(46,125,50,.25)}

/* Cart confirmation */
.ai-cart-ok{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#E8F5E9;border-radius:10px;margin-bottom:16px;font-size:14px;color:#2E7D32;font-weight:500;animation:ai-fadeIn .3s}
@keyframes ai-fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* Responsive */
@media(max-width:520px){
    .ai-panel{top:0;left:0;right:0;bottom:0;width:100%;height:100%;box-shadow:none;border-radius:0}
    .ai-body{padding:16px;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
    .ai-foot{padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom));flex-shrink:0}
    /* Hide mobile bottom nav when AI panel is open */
    html.ai-open .mnav{display:none}
    .ai-opts{padding-right:4px}
    .ai-cats{gap:8px}
    .ai-cat{padding:14px 8px}
    .ai-cat-i{font-size:24px}
    .ai-rec-top{gap:12px}
    .ai-rec-img{width:90px;height:90px}
    .ai-rec-btns{flex-wrap:wrap}
    .ai-banner{flex-direction:column;text-align:center;gap:12px;padding:20px 16px;margin:0 12px 24px;border-radius:12px}
    .ai-hdr-btn .ai-hdr-btn-label{display:none}
    .ai-hdr-btn{padding:8px 10px}
}
@media(min-width:521px) and (max-width:768px){
    .ai-panel{width:400px}
}
