/* =============================================================================
   ALMA DE NUEZ — ESTILOS DEL ASISTENTE
   Usa las mismas variables CSS del sitio (:root en index.html).
   Si se integra en otra página, definir --nogal, --cobre, --papel, --marfil,
   --corteza, --oro, --tinta, --gris-suave, --serif y --sans.
   ============================================================================= */

.adn-chat { font-family: var(--sans, system-ui, sans-serif); }

/* ---------- burbuja flotante ---------- */
.adn-burbuja{
  position:fixed; right:22px; bottom:92px; z-index:61;
  width:58px; height:58px; border-radius:50%;
  background:var(--cobre,#A65D2E); border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 26px rgba(43,27,16,.35);
  transition:transform .2s ease;
}
.adn-burbuja:hover{ transform:scale(1.08); }
.adn-burbuja svg{ width:29px; height:29px; color:var(--marfil,#FCF8F1); }
.adn-burbuja:focus-visible{ outline:3px solid var(--oro,#C29A55); outline-offset:3px; }

/* ---------- panel ---------- */
.adn-panel{
  position:fixed; right:22px; bottom:92px; z-index:62;
  width:390px; max-width:calc(100vw - 32px);
  height:min(620px, calc(100vh - 130px));
  /* padding:0 explícito: el sitio define section{padding:88px 0} y el panel
     es un <section>. Sin esto, hereda 88px arriba y abajo. */
  padding:0; margin:0;
  background:var(--marfil,#FCF8F1);
  border:1px solid rgba(166,93,46,.28); border-radius:10px;
  box-shadow:0 18px 50px rgba(43,27,16,.28);
  display:flex; flex-direction:column; overflow:hidden;
}
.adn-panel[hidden]{ display:none; }

.adn-cab{
  background:var(--nogal,#354128); color:var(--marfil,#FCF8F1);
  padding:15px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.adn-t{ font-family:var(--serif,Georgia,serif); font-size:18px; margin:0; line-height:1.2; }
.adn-s{ font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; margin:3px 0 0; opacity:.72; }
.adn-acciones{ display:flex; gap:4px; }
.adn-icono{
  background:transparent; border:0; cursor:pointer; padding:6px;
  color:var(--marfil,#FCF8F1); opacity:.8; border-radius:4px;
}
.adn-icono:hover{ opacity:1; background:rgba(255,255,255,.12); }
.adn-icono svg{ width:17px; height:17px; display:block; }

/* ---------- cuerpo ---------- */
.adn-cuerpo{
  flex:1; overflow-y:auto; padding:18px 16px;
  background:var(--papel,#F3E8D5);
  display:flex; flex-direction:column; gap:10px;
  scrollbar-width:thin;
}
.adn-msg{
  max-width:87%; padding:11px 14px; border-radius:10px;
  font-size:14.5px; line-height:1.6; color:var(--tinta,#241A12);
  animation:adnIn .3s ease;
}
@keyframes adnIn{ from{opacity:0; transform:translateY(7px);} to{opacity:1; transform:none;} }
@media (prefers-reduced-motion: reduce){ .adn-msg{ animation:none; } }

.adn-bot{
  background:var(--marfil,#FCF8F1); align-self:flex-start;
  border:1px solid rgba(166,93,46,.16); border-bottom-left-radius:3px;
}
.adn-user{
  background:var(--nogal,#354128); color:var(--papel,#F3E8D5);
  align-self:flex-end; border-bottom-right-radius:3px;
}
.adn-msg strong{ font-weight:600; }

/* descargo y cierre obligatorios de la sección literatura */
.adn-aviso, .adn-cierre{
  display:block; font-size:12.8px; line-height:1.55; color:#6B4E1E;
}
.adn-msg:has(.adn-aviso), .adn-msg:has(.adn-cierre){
  background:rgba(194,154,85,.16); border:1px dashed var(--oro,#C29A55);
}

/* ---------- botones de opción ---------- */
.adn-ops{ display:flex; flex-wrap:wrap; gap:7px; align-self:flex-start; max-width:96%; }
.adn-op{
  font-family:inherit; font-size:13.5px; padding:9px 14px; cursor:pointer;
  background:var(--marfil,#FCF8F1); color:var(--cobre,#A65D2E);
  border:1px solid var(--cobre,#A65D2E); border-radius:18px;
  transition:background .2s, color .2s;
}
.adn-op:hover{ background:var(--cobre,#A65D2E); color:var(--marfil,#FCF8F1); }
.adn-op:focus-visible{ outline:3px solid var(--oro,#C29A55); outline-offset:2px; }

/* ---------- fuentes científicas ---------- */
.adn-fuentes{ list-style:none; margin:0; padding:0; font-size:12.5px; line-height:1.55; }
.adn-fuentes li{ padding:9px 0; border-bottom:1px solid rgba(166,93,46,.15); }
.adn-fuentes li:last-child{ border-bottom:0; }
.adn-f-aut{ font-weight:500; color:var(--corteza,#2B1B10); }
.adn-fuentes a{ color:var(--cobre,#A65D2E); white-space:nowrap; }

/* ---------- formularios ---------- */
.adn-form{
  background:var(--marfil,#FCF8F1); border:1px solid rgba(166,93,46,.22);
  border-radius:10px; padding:16px; align-self:stretch;
  display:flex; flex-direction:column; gap:10px;
}
.adn-campo{ display:flex; flex-direction:column; gap:4px; }
.adn-campo span{
  font-size:11.5px; font-weight:500; letter-spacing:.06em;
  text-transform:uppercase; color:var(--corteza,#2B1B10);
}
.adn-campo input, .adn-campo select{
  font-family:inherit; font-size:14px; padding:9px 11px;
  border:1px solid rgba(107,97,84,.38); border-radius:5px;
  background:#fff; color:var(--tinta,#241A12);
}
.adn-campo input:focus, .adn-campo select:focus{
  outline:2px solid var(--cobre,#A65D2E); border-color:var(--cobre,#A65D2E);
}
.adn-form-nota{ font-size:12px; color:var(--gris-suave,#6E6154); margin:2px 0 0; line-height:1.5; }
.adn-form-btn{
  font-family:inherit; font-size:14.5px; font-weight:500; padding:12px;
  background:var(--nogal,#354128); color:var(--marfil,#FCF8F1);
  border:0; border-radius:5px; cursor:pointer; transition:background .2s;
}
.adn-form-btn:hover{ background:#4A5A38; }
.adn-form-err{ font-size:12.5px; color:#9A3B22; margin:0; }

/* ---------- pie / entrada de texto ---------- */
.adn-pie{
  display:flex; gap:8px; padding:12px;
  background:var(--marfil,#FCF8F1); border-top:1px solid rgba(166,93,46,.18);
}
.adn-pie input{
  flex:1; font-family:inherit; font-size:14px; padding:10px 13px;
  border:1px solid rgba(107,97,84,.34); border-radius:20px;
  background:#fff; color:var(--tinta,#241A12);
}
.adn-pie input:focus{ outline:2px solid var(--cobre,#A65D2E); border-color:var(--cobre,#A65D2E); }
.adn-enviar{
  width:40px; height:40px; flex-shrink:0; border:0; border-radius:50%;
  background:var(--cobre,#A65D2E); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.adn-enviar:hover{ background:#8C4E26; }
.adn-enviar svg{ width:19px; height:19px; color:var(--marfil,#FCF8F1); }

/* ---------- móvil ---------- */
@media (max-width:520px){
  .adn-panel{
    right:0; bottom:0; left:0; width:100%; max-width:100%;
    height:100dvh; border-radius:0; border:0;
  }
  .adn-burbuja{ right:16px; bottom:86px; width:52px; height:52px; }
  .adn-burbuja svg{ width:26px; height:26px; }
}
