.cras-wrap{
  --ink:#16202b; --ink-2:#5a6b7d; --line:#dfe5ec; --bg:#fff;
  --accent:#12507e; --accent-soft:#eef4f9; --warn:#8a5a12; --warn-bg:#fdf6e8;
  max-width:760px; margin:0 auto; border:1px solid var(--line); border-radius:10px;
  background:var(--bg); overflow:hidden; font-size:16px; line-height:1.55; color:var(--ink);
  font-family:inherit; display:flex; flex-direction:column;
}
.cras-head{padding:16px 18px; border-bottom:1px solid var(--line); background:var(--accent-soft)}
.cras-head-t{font-weight:700; font-size:17px; letter-spacing:-.01em}
.cras-head-s{font-size:13px; color:var(--ink-2); margin-top:3px}

.cras-log{
  height:var(--cras-h,560px); overflow-y:auto; padding:18px;
  display:flex; flex-direction:column; gap:14px; scroll-behavior:smooth;
}
.cras-msg{max-width:88%; padding:12px 15px; border-radius:12px; white-space:pre-wrap; word-wrap:break-word}
.cras-msg p{margin:0 0 9px}
.cras-msg p:last-child{margin:0}
.cras-bot{background:#f5f7fa; border:1px solid var(--line); align-self:flex-start; border-bottom-left-radius:3px}
.cras-user{background:var(--accent); color:#fff; align-self:flex-end; border-bottom-right-radius:3px}
.cras-mic{font-size:13px; color:var(--ink-2)}
.cras-user .cras-mic{color:#cfe0ee}

.cras-temei{
  display:block; margin-top:10px; padding:8px 11px; background:#fff;
  border-left:3px solid var(--accent); font-size:14px; color:var(--ink-2); border-radius:0 5px 5px 0;
}
.cras-carte{
  display:block; margin-top:9px; font-size:14px; color:var(--accent); font-weight:600;
}
.cras-carte a{color:inherit}

.cras-sug{display:flex; flex-wrap:wrap; gap:8px; align-self:flex-start; max-width:100%}
.cras-sug button{
  background:#fff; border:1px solid var(--line); border-radius:20px; padding:8px 14px;
  font-size:14px; color:var(--accent); cursor:pointer; font-family:inherit; line-height:1.3;
  transition:background .15s, border-color .15s;
}
.cras-sug button:hover{background:var(--accent-soft); border-color:var(--accent)}

.cras-form{display:flex; gap:9px; padding:13px; border-top:1px solid var(--line); background:#fafbfc}
.cras-form input{
  flex:1; padding:12px 14px; border:1px solid var(--line); border-radius:8px;
  font-size:16px; font-family:inherit; color:var(--ink); background:#fff; min-width:0;
}
.cras-form input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
.cras-form button{
  padding:12px 22px; background:var(--accent); color:#fff; border:0; border-radius:8px;
  font-size:15px; font-weight:600; cursor:pointer; font-family:inherit; white-space:nowrap;
}
.cras-form button:hover{background:#0d3f65}
.cras-form button:disabled{opacity:.5; cursor:not-allowed}

.cras-foot{padding:10px 18px; font-size:12.5px; color:var(--ink-2); border-top:1px solid var(--line); background:#fff}

.cras-typing{display:flex; gap:5px; padding:14px 16px}
.cras-typing i{width:7px; height:7px; border-radius:50%; background:#b6c2d0; animation:cras-b 1.3s infinite}
.cras-typing i:nth-child(2){animation-delay:.18s}
.cras-typing i:nth-child(3){animation-delay:.36s}
@keyframes cras-b{0%,60%,100%{opacity:.3; transform:translateY(0)}30%{opacity:1; transform:translateY(-4px)}}

.cras-lead{
  border:1px solid var(--line); border-radius:10px; padding:15px; background:#fff;
  align-self:flex-start; max-width:88%; width:100%;
}
.cras-lead h4{margin:0 0 4px; font-size:15.5px; font-weight:700}
.cras-lead p{margin:0 0 12px; font-size:14px; color:var(--ink-2)}
.cras-lead input{
  width:100%; padding:10px 12px; margin-bottom:9px; border:1px solid var(--line);
  border-radius:7px; font-size:15px; font-family:inherit; box-sizing:border-box;
}
.cras-lead input:focus{outline:2px solid var(--accent); outline-offset:1px}
.cras-lead label{display:flex; gap:8px; align-items:flex-start; font-size:12.5px; color:var(--ink-2); margin:4px 0 12px}
.cras-lead label input{width:auto; margin:2px 0 0}
.cras-lead button{
  width:100%; padding:12px; background:var(--accent); color:#fff; border:0;
  border-radius:7px; font-size:15px; font-weight:600; cursor:pointer; font-family:inherit;
}
.cras-lead button:hover{background:#0d3f65}
.cras-lead .cras-eroare{color:#a12; font-size:13.5px; margin:0 0 8px}

.cras-avert{
  background:var(--warn-bg); border:1px solid #f0e0bd; color:var(--warn);
  border-radius:9px; padding:12px 15px; font-size:14.5px; align-self:flex-start; max-width:88%;
}

@media (max-width:600px){
  .cras-wrap{border-radius:0; border-left:0; border-right:0; font-size:15.5px}
  .cras-log{height:min(var(--cras-h,560px), 64vh); padding:14px}
  .cras-msg,.cras-lead,.cras-avert{max-width:94%}
  .cras-form button{padding:12px 16px}
}
@media (prefers-reduced-motion:reduce){
  .cras-typing i{animation:none}
  .cras-log{scroll-behavior:auto}
}

/* ---------------------------------------------- liste în răspunsuri */
.cras-lista{margin:8px 0 10px; padding-left:20px}
.cras-lista li{margin:0 0 5px}
.cras-msg strong{font-weight:700}
.cras-msg em{font-style:italic}

/* ---------------------------------------------- fereastră flotantă */
.cras-bula{
  position:fixed; bottom:var(--cras-bula-jos,96px); z-index:99998;
  font-family:inherit;
}
.cras-bula--dreapta{right:20px}
.cras-bula--stanga{left:20px}

.cras-bula-btn{
  display:flex; align-items:center; gap:9px;
  padding:13px 20px; border:0; border-radius:30px; cursor:pointer;
  background:#12507e; color:#fff; font-size:15px; font-weight:600;
  font-family:inherit; line-height:1;
  box-shadow:0 4px 16px rgba(18,80,126,.32);
  transition:background .15s, transform .15s;
}
.cras-bula-btn:hover{background:#0d3f65; transform:translateY(-1px)}
.cras-bula-ico{display:flex}

.cras-bula-panou{
  position:absolute; bottom:calc(100% + 12px); width:400px; max-width:calc(100vw - 40px);
  border-radius:12px; overflow:hidden; background:#fff;
  box-shadow:0 12px 40px rgba(16,32,43,.24);
  animation:cras-urca .18s ease-out;
}
.cras-bula--dreapta .cras-bula-panou{right:0}
.cras-bula--stanga .cras-bula-panou{left:0}

@keyframes cras-urca{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}

.cras-bula-panou .cras-wrap{
  max-width:none; border:0; border-radius:0; margin:0;
}
.cras-bula-panou .cras-head{padding-right:44px}

.cras-bula-inchide{
  position:absolute; top:10px; right:11px; z-index:2;
  width:28px; height:28px; border:0; border-radius:50%;
  background:rgba(255,255,255,.7); color:#16202b;
  font-size:21px; line-height:1; cursor:pointer; font-family:inherit;
}
.cras-bula-inchide:hover{background:#fff}

.cras-bula--deschis .cras-bula-btn{background:#0d3f65}

@media (max-width:600px){
  .cras-bula{bottom:16px; right:14px; left:auto}
  .cras-bula--stanga{left:14px; right:auto}
  .cras-bula-txt{display:none}
  .cras-bula-btn{padding:15px; border-radius:50%}
  .cras-bula-panou{
    position:fixed; top:0; left:0; right:0; bottom:0;
    width:100vw; max-width:100vw; height:100dvh;
    border-radius:0; display:flex; flex-direction:column;
  }
  .cras-bula-panou .cras-wrap{flex:1; min-height:0; display:flex; flex-direction:column}
  .cras-bula-panou .cras-log{flex:1; min-height:0; height:auto}
  /* pe telefon bara de adresă mișcă viewport-ul; formularul rămâne vizibil */
  .cras-bula-panou .cras-form{position:sticky; bottom:0; background:#fafbfc}
}
@media (prefers-reduced-motion:reduce){
  .cras-bula-panou{animation:none}
  .cras-bula-btn:hover{transform:none}
}
