/* ============================================================
   20D · chat.css — Asistente 20D (flotante) para TODAS las páginas.
   Requiere las variables de marca (:root) de 20d.css o legal.css;
   incluye respaldos para las que solo existen en 20d.css.
   ============================================================ */
.cbot-btn{position:fixed;right:18px;bottom:18px;z-index:130;display:flex;align-items:center;gap:10px;background:var(--teal,#189BAB);color:#fff;border:none;border-radius:999px;padding:10px 18px 10px 12px;min-height:44px;min-width:44px;cursor:pointer;box-shadow:0 10px 30px rgba(14,95,107,.35);font-family:var(--display,"Barlow Semi Condensed",sans-serif);font-weight:600;font-size:1rem;transition:transform .15s ease,background .15s ease}
.cbot-btn:hover{transform:translateY(-2px);background:var(--teal-deep,#0E5F6B)}
.cbot-btn img{width:32px;height:32px;border-radius:50%}
@media(max-width:520px){.cbot-btn span.t{display:none}.cbot-btn{padding:12px}}
@media(max-width:1080px){.cbot-btn{bottom:calc(74px + env(safe-area-inset-bottom))}}
.cbot-panel{position:fixed;right:18px;bottom:80px;z-index:131;width:340px;max-width:calc(100vw - 28px);background:#fff;border:1px solid var(--line,#DCE7E9);border-radius:18px;box-shadow:0 24px 70px rgba(14,95,107,.32);overflow:hidden;display:none;animation:cbfade .2s ease}
@media(max-width:1080px){.cbot-panel{bottom:calc(136px + env(safe-area-inset-bottom))}}
.cbot-panel.open{display:block}
.cbot-head{display:flex;align-items:center;gap:11px;background:var(--teal-deep,#0E5F6B);color:#fff;padding:14px 16px}
.cbot-head img{width:36px;height:36px;border-radius:50%;flex:none}
.cbot-head b{font-family:var(--display,"Barlow Semi Condensed",sans-serif);font-size:1.04rem;line-height:1.1;display:block}
.cbot-head small{opacity:.85;font-size:.8rem}
.cbot-head .x{margin-left:auto;color:#fff;opacity:.9;background:none;border:none;cursor:pointer;font-size:1.15rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
.cbot-body{padding:16px;max-height:60vh;overflow:auto}
.cbot-msg{background:var(--box,#F4F9FA);border:1px solid var(--line,#DCE7E9);border-radius:12px;border-top-left-radius:3px;padding:12px 14px;font-size:.94rem;color:#36383b;margin-bottom:12px}
.cbot-q{display:grid;gap:8px}
.cbot-q button,.cbot-q a.btn-like{text-align:left;font-family:var(--body,"Inter",sans-serif);font-weight:600;font-size:.92rem;color:var(--teal-deep,#0E5F6B);background:#fff;border:1.5px solid var(--line,#DCE7E9);border-radius:11px;padding:11px 13px;min-height:44px;cursor:pointer;text-decoration:none;display:block;transition:background .15s ease,border-color .15s ease}
.cbot-q button:hover,.cbot-q a.btn-like:hover{background:var(--teal-tint,#e7f4f6);border-color:var(--teal,#189BAB)}
.cbot-foot{font-size:.76rem;color:var(--gray,#6D6E71);padding:10px 16px 14px;border-top:1px solid var(--line,#DCE7E9)}
.cbot-contact{font-size:.92rem;line-height:1.6}
.cbot-contact a{font-weight:600}
.cbot-acts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px}
.cbot-acts a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 6px;min-height:44px;border:1.5px solid var(--line,#DCE7E9);border-radius:11px;text-decoration:none;font-size:.78rem;font-weight:700;color:var(--teal-deep,#0E5F6B);font-family:var(--display,"Barlow Semi Condensed",sans-serif)}
.cbot-acts a svg{color:var(--teal,#189BAB)}
.cbot-acts a:hover{background:var(--teal-tint,#e7f4f6);border-color:var(--teal,#189BAB)}
@keyframes cbfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  .cbot-panel{animation:none}
  .cbot-btn,.cbot-btn:hover{transition:none;transform:none}
}

/* v14 · Contraste AA: el botón flotante usa el teal profundo de CTA */
.cbot-btn{background:var(--teal-cta,#107784)}
.cbot-btn:hover{background:var(--teal-deep,#0E5F6B)}
