/* =========================================================
   rose-assistant.css — визия на "Роуз", асистента на Роза.
   Отделен модул от css/style.css нарочно (Section 25/28) —
   за да може лесно да се activate/deactivate целият Rose
   Assistant само чрез премахване на едно <link>/<script> на
   страница, без да засяга останалия сайт. Използва глобалните
   design tokens, дефинирани в style.css (:root).
   ========================================================= */

#rose-widget{ position:fixed; right:16px; bottom:12px; z-index:400; font-family:var(--font-sans); }

/* ---------- Launcher ---------- */
#rose-launcher{
  width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--rose-900); color:var(--rose-200); border:var(--border-width) solid var(--rose-900);
  box-shadow:var(--shadow-md); cursor:pointer; transition:var(--transition-ui); line-height:1; padding:8px; overflow:hidden;
}
#rose-launcher svg{ width:100%; height:100%; }
#rose-launcher:hover{ border-color:var(--gold-500); color:var(--gold-300); box-shadow:var(--shadow-lg); transform:translateY(-2px); }
#rose-launcher.is-open{ border-color:var(--gold-500); }

/* ---------- Panel ---------- */
.rose-panel{
  position:absolute; right:0; bottom:50px; width:300px; max-width:calc(100vw - 24px); height:min(400px, 58vh);
  min-height:280px;
  display:flex; flex-direction:column; background:var(--vanilla); border-radius:var(--radius-card);
  border:var(--border-width) solid var(--border-color-default); box-shadow:var(--shadow-lg); overflow:hidden;
  transition:height var(--transition-ui), min-height var(--transition-ui);
  animation:rosePanelIn .2s ease;
}
/* .rose-panel{display:flex} е author правило и без това има същата
   специфичност като UA правилото [hidden]{display:none} — без този
   override панелът остава видим дори с hidden атрибута зададен. */
.rose-panel[hidden]{ display:none; }
@keyframes rosePanelIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }

/* Минимизирано състояние — само хедърът остава видим */
.rose-panel.is-minimized{ height:auto; min-height:0; }
.rose-panel.is-minimized .rose-messages,
.rose-panel.is-minimized .rose-input-row{ display:none; }
.rose-panel.is-minimized .rose-panel-header{ cursor:pointer; }

.rose-panel-header{
  display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px;
  background:var(--rose-950); color:var(--white); flex:none;
}
.rose-header-id{ display:flex; align-items:center; gap:10px; min-width:0; }
.rose-avatar{ width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.1); color:var(--rose-200); display:flex; align-items:center; justify-content:center; flex:none; padding:6px; overflow:hidden; }
.rose-avatar svg{ width:100%; height:100%; }
.rose-header-text{ display:flex; flex-direction:column; min-width:0; line-height:1.25; }
.rose-header-text strong{ font-family:var(--font-serif); font-size:.98rem; }
.rose-header-text span{ font-size:.68rem; color:rgba(255,255,255,.65); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rose-header-actions{ display:flex; align-items:center; gap:4px; flex:none; }
.rose-header-actions button{
  width:26px; height:26px; border-radius:50%; border:1px solid rgba(255,255,255,.25); background:transparent; color:var(--white);
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--transition-ui); flex:none;
}
.rose-header-actions button svg{ width:13px; height:13px; }
.rose-header-actions button:hover{ border-color:var(--gold-300); color:var(--gold-300); }

/* ---------- Messages ---------- */
.rose-messages{ flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; background:var(--vanilla); }
.rose-msg{ max-width:86%; font-size:.86rem; line-height:1.5; padding:10px 13px; border-radius:var(--radius-control); }
.rose-msg--rose{
  align-self:flex-start; background:var(--surface); color:var(--ink-900); border:1px solid rgba(74,50,34,.1);
  border-bottom-left-radius:4px;
}
.rose-msg--user{
  align-self:flex-end; background:var(--rose-700); color:var(--white); border-bottom-right-radius:4px;
}
.rose-msg a.rose-link{
  display:inline-block; margin-top:4px; color:var(--rose-700); font-weight:600; transition:var(--transition-ui);
}
.rose-msg a.rose-link:hover{ color:var(--gold-600); }
.rose-link--sm{ font-size:.78rem; margin-top:2px; }
.rose-optional{ color:var(--ink-500); font-weight:400; font-size:.8rem; }

.rose-feedback-q{ display:block; margin-bottom:8px; }
.rose-feedback-row{ display:flex; gap:8px; }

.rose-store{ display:flex; flex-direction:column; gap:4px; padding:10px 0; border-bottom:1px solid rgba(74,50,34,.12); }
.rose-store:last-child{ border-bottom:none; padding-bottom:0; }
.rose-store strong{ font-family:var(--font-serif); color:var(--rose-900); font-size:.92rem; }
.rose-store span{ display:flex; align-items:center; gap:6px; font-size:.8rem; }
.rose-store span svg, .rose-store a svg{ width:13px; height:13px; flex:none; color:var(--gold-600); }
.rose-store a{ display:flex; align-items:center; gap:6px; font-size:.8rem; color:var(--rose-700); font-weight:600; transition:var(--transition-ui); }

.rose-product{ display:flex; flex-direction:column; gap:3px; padding:9px 0; border-bottom:1px solid rgba(74,50,34,.12); }
.rose-product:last-child{ border-bottom:none; padding-bottom:0; }
.rose-product strong{ font-family:var(--font-serif); color:var(--rose-900); font-size:.88rem; line-height:1.3; }
.rose-product span{ font-size:.76rem; color:var(--ink-500); }
.rose-store a:hover{ color:var(--gold-600); }

.rose-handoff{ display:flex; flex-direction:column; gap:8px; margin-top:6px; }
.rose-handoff-link{
  display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:var(--radius-control);
  border:1px solid rgba(74,50,34,.18); background:var(--vanilla); color:var(--ink-900); font-weight:600; font-size:.84rem;
  transition:var(--transition-ui);
}
.rose-handoff-link svg{ width:15px; height:15px; color:var(--rose-700); flex:none; }
.rose-handoff-link:hover{ border-color:var(--border-color-hover); color:var(--gold-600); }
.rose-handoff-link:hover svg{ color:var(--gold-600); }

.rose-file-row{ display:flex; align-items:center; gap:10px; margin-top:8px; flex-wrap:wrap; }
.rose-file-btn{
  display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border-radius:var(--radius-control);
  border:1px dashed rgba(74,50,34,.3); background:var(--surface-2); color:var(--ink-700); font-size:.8rem; font-weight:600;
  cursor:pointer; transition:var(--transition-ui);
}
.rose-file-btn:hover{ border-color:var(--border-color-hover); }
.rose-file-btn svg{ width:14px; height:14px; }
.rose-privacy{ font-size:.74rem; color:var(--ink-500); }
.rose-privacy a{ color:var(--rose-700); text-decoration:underline; }

/* ---------- Quick actions (излизат вградени в потока на съобщенията) ---------- */
.rose-quick-actions{ display:flex; flex-wrap:wrap; gap:8px; }
.rose-chip{
  padding:9px 14px; border-radius:var(--radius-control); border:var(--border-width) solid var(--border-color-default);
  background:var(--vanilla); color:var(--ink-900); font-size:.78rem; font-weight:600; cursor:pointer; transition:var(--transition-ui);
}
.rose-chip:hover{ border-color:var(--border-color-hover); color:var(--gold-600); transform:translateY(-1px); }
.rose-chip--sm{ padding:6px 12px; font-size:.76rem; }

/* ---------- Input row ---------- */
.rose-input-row{
  display:flex; align-items:center; gap:8px; padding:12px 14px; border-top:1px solid rgba(74,50,34,.12);
  background:var(--vanilla); flex:none;
}
.rose-input-row input{
  flex:1; border:var(--border-width) solid var(--border-color-default); border-radius:var(--radius-control);
  background:var(--surface); padding:10px 12px; font-size:.85rem; color:var(--ink-900); font-family:inherit;
  transition:var(--transition-ui);
}
.rose-input-row input:focus{ outline:none; border-color:var(--border-color-hover); }
.rose-input-row button{
  width:38px; height:38px; border-radius:var(--radius-control); border:var(--border-width) solid var(--rose-700);
  background:var(--rose-700); color:var(--white); display:flex; align-items:center; justify-content:center; flex:none;
  cursor:pointer; transition:var(--transition-ui);
}
.rose-input-row button:hover{ background:var(--gold-600); border-color:var(--gold-600); }
.rose-input-row button svg{ width:16px; height:16px; }

/* ---------- Mobile ---------- */
@media (max-width:600px){
  #rose-widget{ right:12px; bottom:10px; }
  #rose-launcher{ width:38px; height:38px; }
  .rose-panel{
    position:fixed; right:8px; left:8px; bottom:8px; width:auto; max-width:none;
    /* нисък таван — избягва мобилни браузъри да скрият горната част
       (вкл. бутона за затваряне) зад динамична адресна лента, и не
       покрива прекалено голяма част от съдържанието на страницата */
    height:min(56vh, 400px);
    max-height:calc(100% - 16px);
  }
  .rose-quick-actions{ gap:6px; }
  .rose-chip{ padding:8px 12px; font-size:.76rem; }
}
