/* Asistente Berenice 6.5.47: identidad visual, preguntas libres y respuesta adaptable. */
.final-cta.final-cta--assistant{
  grid-template-columns:clamp(92px,10vw,152px) minmax(0,1fr) auto;
  gap:clamp(1rem,2.8vw,2.4rem);
  overflow:hidden;
  background:linear-gradient(135deg,#fff8ec 0%,#fffdf8 62%,#e9f8fc 100%);
  border:1px solid #eadcc7;
  box-shadow:0 18px 45px rgba(62,36,22,.09);
}
.final-cta__assistant-avatar{margin:0;display:grid;place-items:center;align-self:center;aspect-ratio:1;border-radius:32px;background:linear-gradient(145deg,#fff,#e8f7fb);border:1px solid #cbe9f1;box-shadow:0 12px 28px rgba(27,104,132,.14)}
.final-cta__assistant-avatar img{display:block;width:100%;height:100%;object-fit:contain;border-radius:30px}
.final-cta__assistant-copy{min-width:0}
.final-cta__assistant-copy h2{max-width:760px}
.final-cta__assistant-copy .lead{max-width:760px}
.final-cta__assistant-button{min-height:50px;white-space:nowrap;box-shadow:0 9px 22px rgba(143,29,24,.2)}

.assistant__identity{display:flex;align-items:center;gap:.75rem;min-width:0}
.assistant__identity>img{flex:0 0 54px;width:54px;height:54px;object-fit:contain;border-radius:17px;background:#fff;border:2px solid rgba(255,255,255,.65);box-shadow:0 7px 18px rgba(0,0,0,.16)}
.assistant__identity>div{min-width:0}
.assistant__identity strong{font-size:1.02rem}
.assistant__identity small{color:rgba(255,255,255,.78)}
.assistant__messages .message:not(.message--user){border-left:3px solid #11bddd}
.assistant__messages .message--user{background:#fff3dc;border:1px solid #efd3a6}

.assistant-question-form{display:grid;gap:.38rem;width:100%}
.assistant-question-form label{font-size:.78rem;font-weight:850;color:var(--ink)}
.assistant-question-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem}
.assistant-question-form input{min-width:0;height:43px;padding:0 .78rem;border:1px solid #c9d7df;border-radius:11px;background:#fff;color:var(--ink);font:inherit;box-shadow:inset 0 1px 2px rgba(31,45,52,.04)}
.assistant-question-form input:focus{outline:3px solid rgba(17,189,221,.2);border-color:#0aa8c7}
.assistant-question-form .btn{min-width:88px;margin:0}
.assistant-question-form.is-loading{opacity:.72;pointer-events:none}
.assistant__controls{display:grid;grid-template-columns:1fr;align-items:stretch;justify-items:stretch;gap:.62rem;padding:.78rem .9rem}
.assistant__controls>small{max-width:none;line-height:1.35;text-align:left}
.assistant__controls .assistant-home{width:100%;min-height:38px}
.assistant-answer-source{display:block;margin-top:.65rem;padding-top:.55rem;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem}
.assistant-fallback{margin-top:.65rem;padding:.7rem;border-radius:12px;background:#fff7e7;border:1px solid #edd29f}
.assistant-fallback strong{display:block;color:#7a251d}
.assistant-faq-answer{margin-top:.65rem;padding:.75rem;border-radius:12px;background:#fff;border:1px solid var(--line)}
.assistant-faq-answer strong{display:block;margin-bottom:.32rem}
.assistant-faq-answer p{margin:.2rem 0 0}
.assistant-knowledge-list{display:grid;gap:.42rem;margin:.7rem 0 0;padding:0;list-style:none}
.assistant-knowledge-list li{padding:.58rem .7rem;border:1px solid var(--line);border-radius:10px;background:#fff}
.assistant-knowledge-list b{color:#7a251d}

.floating-contact--assistant>img{width:48px;height:48px;object-fit:contain;border-radius:15px;background:#fff;border:2px solid #bce9f2;box-shadow:0 5px 14px rgba(0,0,0,.15)}

@media(max-width:860px){
  .final-cta.final-cta--assistant{grid-template-columns:100px minmax(0,1fr)}
  .final-cta__assistant-button{grid-column:2;justify-self:start}
}
@media(max-width:640px){
  .final-cta.final-cta--assistant{grid-template-columns:76px minmax(0,1fr);padding:1.35rem;gap:.85rem;border-radius:22px}
  .final-cta__assistant-avatar{border-radius:22px}
  .final-cta__assistant-avatar img{border-radius:20px}
  .final-cta__assistant-copy h2{font-size:clamp(1.65rem,8vw,2.25rem)}
  .final-cta__assistant-copy .lead{font-size:.96rem}
  .final-cta__assistant-button{grid-column:1/-1;width:100%;justify-content:center}
  .assistant-question-form>div{grid-template-columns:1fr}
  .assistant-question-form .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.final-cta__assistant-button,.floating-contact--assistant>img{transition:none!important}}
