/* Vinayak AI — a viewport-safe shopping assistant panel */
.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.floating-buttons{
    position:fixed;
    right:30px;
    bottom:30px;
    display:flex;
    flex-direction:column;
    gap:15px;
    z-index:500;
}

.floating-buttons a,
.floating-buttons .ai-launch{
    width:60px;
    height:60px;
    border:0;
    border-radius:50%;
    background:linear-gradient(135deg,var(--gold),var(--gold-light));
    color:#111;
    display:grid;
    place-items:center;
    font-size:25px;
    cursor:pointer;
    box-shadow:0 12px 25px rgba(0,0,0,.35);
    transition:transform var(--transition), box-shadow var(--transition);
}

.floating-buttons a:hover,
.floating-buttons .ai-launch:hover{ transform:scale(1.1); }
.floating-buttons .ai-launch{ background:linear-gradient(135deg,#f2d67c,#c9961a); }

.vinayak-ai{
    position:fixed;
    right:30px;
    bottom:30px;
    z-index:100001;
    width:min(390px,calc(100vw - 32px));
    height:min(620px,calc(100dvh - 32px));
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto auto;
    overflow:hidden;
    border:1px solid rgba(212,175,55,.3);
    border-radius:24px;
    background:#0f172a;
    box-shadow:0 26px 80px rgba(0,0,0,.6);
    opacity:0;
    visibility:hidden;
    transform:translateY(20px) scale(.97);
    transition:opacity .25s ease,transform .25s ease,visibility .25s;
}

.vinayak-ai.is-open{
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
}

.vinayak-ai__header,
.vinayak-ai__composer{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    background:rgba(7,17,31,.9);
}

.vinayak-ai__header{ justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.08); }
.vinayak-ai__brand{ display:flex; align-items:center; gap:11px; }
.vinayak-ai__brand strong,.vinayak-ai__brand small{ display:block; }
.vinayak-ai__brand strong{ color:var(--gold); font-size:17px; }
.vinayak-ai__brand small{ margin-top:2px; color:var(--muted); font-size:12px; }
.vinayak-ai__mark{ width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:#111; background:linear-gradient(135deg,var(--gold),var(--gold-light)); }

.vinayak-ai__header button,
.vinayak-ai__composer button{
    border:0;
    cursor:pointer;
}
.vinayak-ai__header button{ width:40px; height:40px; border-radius:50%; color:white; background:#1f2937; font-size:18px; }

.vinayak-ai__messages{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:13px;
    -webkit-overflow-scrolling:touch;
}

.vinayak-ai__message{ max-width:88%; padding:12px 14px; border-radius:16px; line-height:1.5; font-size:14px; animation:vinayak-ai-message .22s ease both; }
.vinayak-ai__message p{ margin:0; white-space:pre-line; }
.vinayak-ai__message--assistant{ align-self:flex-start; border-bottom-left-radius:4px; color:#e5e7eb; background:#1e293b; }
.vinayak-ai__message--user{ align-self:flex-end; border-bottom-right-radius:4px; color:#111; background:linear-gradient(135deg,var(--gold),var(--gold-light)); }
.vinayak-ai__product-actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.vinayak-ai__product-actions button{ min-width:0; max-width:100%; border:1px solid rgba(212,175,55,.45); border-radius:10px; padding:8px 10px; color:var(--gold); background:#111827; font:inherit; font-size:12px; cursor:pointer; text-align:left; overflow-wrap:anywhere; }
.vinayak-ai__product-actions strong,.vinayak-ai__product-actions small{ display:block; }
.vinayak-ai__product-actions small{ margin-top:3px; color:#a5b4c7; line-height:1.35; }
.vinayak-ai__product-actions .vinayak-ai__quick-add{ color:#111; background:var(--gold); border-color:var(--gold); font-weight:700; }
.vinayak-ai__product-actions button:hover{ background:rgba(212,175,55,.12); }

.vinayak-ai__typing{ display:flex; gap:4px; align-items:center; min-height:20px; }
.vinayak-ai__typing i{ width:6px; height:6px; border-radius:50%; background:var(--gold); animation:vinayak-ai-bounce .8s infinite alternate; }
.vinayak-ai__typing i:nth-child(2){ animation-delay:.15s; }
.vinayak-ai__typing i:nth-child(3){ animation-delay:.3s; }

.vinayak-ai__suggestions{ display:flex; gap:8px; overflow-x:auto; padding:0 18px 12px; scrollbar-width:none; }
.vinayak-ai__suggestions::-webkit-scrollbar{ display:none; }
.vinayak-ai__suggestions button{ flex:0 0 auto; border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:8px 11px; color:#cbd5e1; background:#172033; font:inherit; font-size:12px; cursor:pointer; }
.vinayak-ai__suggestions button:hover{ color:#111; border-color:var(--gold); background:var(--gold); }

.vinayak-ai__composer{ border-top:1px solid rgba(255,255,255,.08); padding-bottom:calc(16px + env(safe-area-inset-bottom)); }
.vinayak-ai__composer input{ min-width:0; flex:1; border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:13px 14px; color:#fff; background:#172033; font:inherit; }
.vinayak-ai__composer input::placeholder{ color:#94a3b8; }
.vinayak-ai__composer button{ width:46px; height:46px; flex:0 0 auto; border-radius:14px; color:#111; background:var(--gold); font-size:16px; }
.vinayak-ai__composer button:disabled{ cursor:not-allowed; opacity:.65; }

@keyframes vinayak-ai-message{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }
@keyframes vinayak-ai-bounce{ to{ transform:translateY(-4px); opacity:.45; } }

@media(max-width:600px){
    .floating-buttons{ right:15px; bottom:15px; gap:10px; }
    .floating-buttons a,.floating-buttons .ai-launch{ width:52px; height:52px; font-size:21px; }
    .vinayak-ai{ right:8px; bottom:8px; width:calc(100vw - 16px); height:calc(100dvh - 16px); max-height:680px; border-radius:20px; }
    .vinayak-ai__messages{ padding:14px; }
    .vinayak-ai__message{ max-width:92%; }
}
