/* IA Reflexiones — chatbot de ayuda rápida */

.ia-chat{
  position:fixed;
  right:1rem;
  bottom:1rem;
  z-index:60;
  font-size:.95rem;
}

.ia-chat__toggle{
  position:relative;
  border:0;
  cursor:pointer;
  width:3.6rem;
  height:3.6rem;
  border-radius:999px;
  background:linear-gradient(145deg, var(--ember) 0%, var(--ember-deep) 100%);
  color:var(--cream);
  box-shadow:0 12px 32px rgba(20,17,14,.22);
  display:grid;
  place-items:center;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.ia-chat__toggle:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 16px 36px rgba(20,17,14,.28);
}
.ia-chat__toggle svg{width:1.35rem; height:1.35rem;}
.ia-chat__pulse{
  position:absolute;
  inset:-4px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--ember) 55%, transparent);
  animation:chatPulse 2.8s ease-out infinite;
  pointer-events:none;
}
@keyframes chatPulse{
  0%{transform:scale(.92); opacity:.9;}
  70%{transform:scale(1.18); opacity:0;}
  100%{transform:scale(1.18); opacity:0;}
}

.ia-chat__panel{
  position:absolute;
  right:0;
  bottom:calc(100% + .85rem);
  width:min(22rem, calc(100vw - 2rem));
  height:min(34rem, calc(100vh - 7rem));
  background:color-mix(in srgb, var(--cream) 92%, var(--paper));
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 24px 60px rgba(20,17,14,.18);
  display:grid;
  grid-template-rows:auto 1fr auto auto;
  overflow:hidden;
  transform-origin:bottom right;
  animation:chatIn .45s var(--ease) both;
}
@keyframes chatIn{
  from{opacity:0; transform:translateY(12px) scale(.96);}
  to{opacity:1; transform:none;}
}

.ia-chat__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
  padding:1rem 1rem .85rem;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, color-mix(in srgb, var(--paper) 70%, transparent), transparent);
}
.ia-chat__brand{display:grid; gap:.15rem;}
.ia-chat__brand strong{
  font-family:var(--serif);
  font-size:1.05rem;
  font-weight:500;
}
.ia-chat__brand span{
  color:var(--muted);
  font-size:.78rem;
}
.ia-chat__close{
  border:0;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  padding:.25rem;
  border-radius:8px;
}

.ia-chat__messages{
  overflow:auto;
  padding:1rem;
  display:grid;
  gap:.75rem;
  align-content:start;
  scroll-behavior:smooth;
}

.ia-chat__msg{display:flex;}
.ia-chat__msg--user{justify-content:flex-end;}
.ia-chat__msg--bot,.ia-chat__msg--user .ia-chat__bubble{max-width:92%;}
.ia-chat__bubble{
  padding:.75rem .9rem;
  border-radius:18px;
  line-height:1.5;
}
.ia-chat__msg--bot .ia-chat__bubble{
  background:var(--paper);
  border:1px solid var(--line);
  border-bottom-left-radius:6px;
}
.ia-chat__msg--user .ia-chat__bubble{
  background:var(--ink);
  color:var(--cream);
  border-bottom-right-radius:6px;
}

.ia-chat__links{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-top:.65rem;
}
.ia-chat__links a{
  text-decoration:none;
  font-size:.82rem;
  font-weight:600;
  color:var(--ember-deep);
  border:1px solid color-mix(in srgb, var(--ember) 35%, var(--line));
  background:var(--cream);
  padding:.35rem .65rem;
  border-radius:999px;
}
.ia-chat__msg--user .ia-chat__links a{
  color:var(--cream);
  border-color:rgba(255,255,255,.25);
  background:rgba(255,255,255,.08);
}

.ia-chat__cards{
  display:grid;
  gap:.45rem;
  margin-top:.65rem;
}
.ia-chat__card{
  text-decoration:none;
  display:grid;
  gap:.2rem;
  padding:.65rem .75rem;
  border-radius:14px;
  background:color-mix(in srgb, var(--candle) 35%, var(--cream));
  border:1px solid var(--line);
  transition:transform .25s var(--ease);
}
.ia-chat__card:hover{transform:translateY(-2px);}
.ia-chat__card strong{
  font-family:var(--serif);
  font-size:.92rem;
  font-weight:500;
}
.ia-chat__card span{
  font-family:var(--serif);
  font-style:italic;
  font-size:.84rem;
  color:var(--ink-soft);
  line-height:1.35;
}

.ia-chat__typing .ia-chat__bubble{
  display:flex;
  gap:.35rem;
  align-items:center;
  min-height:2.2rem;
}
.ia-chat__typing span{
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:var(--muted);
  animation:chatDot 1.1s infinite ease-in-out;
}
.ia-chat__typing span:nth-child(2){animation-delay:.15s;}
.ia-chat__typing span:nth-child(3){animation-delay:.3s;}
@keyframes chatDot{
  0%,80%,100%{transform:translateY(0); opacity:.45;}
  40%{transform:translateY(-4px); opacity:1;}
}

.ia-chat__chips{
  display:flex;
  gap:.4rem;
  overflow:auto;
  padding:.55rem .85rem 0;
  scrollbar-width:none;
}
.ia-chat__chips::-webkit-scrollbar{display:none;}
.ia-chat__chip{
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  border-radius:999px;
  padding:.35rem .7rem;
  font:inherit;
  font-size:.78rem;
  white-space:nowrap;
  cursor:pointer;
  transition:background .2s var(--ease), border-color .2s var(--ease);
}
.ia-chat__chip:hover{
  background:var(--cream);
  border-color:color-mix(in srgb, var(--ember) 40%, var(--line));
}

.ia-chat__form{
  display:flex;
  gap:.45rem;
  padding:.75rem .85rem .85rem;
  border-top:1px solid var(--line);
  background:color-mix(in srgb, var(--cream) 80%, transparent);
}
.ia-chat__input{
  flex:1;
  border:1px solid var(--line);
  background:var(--paper);
  border-radius:999px;
  padding:.65rem .95rem;
  font:inherit;
  min-width:0;
}
.ia-chat__send{
  border:0;
  background:var(--ink);
  color:var(--cream);
  border-radius:999px;
  padding:0 1rem;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}

.ia-chat:not(.is-open) .ia-chat__panel{display:none;}

@media (max-width:520px){
  .ia-chat{
    right:.75rem;
    bottom:.75rem;
  }
  .ia-chat__panel{
    position:fixed;
    right:.75rem;
    left:.75rem;
    bottom:5.2rem;
    width:auto;
    height:min(70vh, 34rem);
  }
}

@media (prefers-reduced-motion: reduce){
  .ia-chat__pulse{display:none;}
  .ia-chat__panel{animation:none;}
}
