/* ============================================================
   POTENCIA DIGITAL — v14
   · Botón de contacto desplegable (WhatsApp / correo / llamada)
   · TANIT — asistente IA de la casa
   ============================================================ */

/* ---------- botón de contacto ---------- */
#fab-wrap{position:fixed;right:20px;bottom:20px;z-index:70;display:flex;flex-direction:column;
  align-items:flex-end;gap:12px}
.fab-btn{width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;
  background:var(--grad,linear-gradient(100deg,#e1131d,#e332a8 55%,#ff8a5c));color:#fff;
  box-shadow:0 10px 34px rgba(225,19,29,.5);transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.fab-btn svg{width:27px;height:27px}
.fab-btn:hover{transform:scale(1.08)}
#fab-wrap.open .fab-btn{transform:rotate(45deg) scale(1.05)}
.fab-opts{display:flex;flex-direction:column;align-items:flex-end;gap:10px;
  opacity:0;pointer-events:none;transform:translateY(14px) scale(.9);transform-origin:bottom right;
  transition:opacity .25s,transform .3s cubic-bezier(.34,1.56,.64,1)}
#fab-wrap.open .fab-opts{opacity:1;pointer-events:auto;transform:none}
.fab-opt{display:flex;align-items:center;gap:10px;padding:9px 15px 9px 11px;border-radius:99px;
  background:rgba(20,13,38,.92);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);
  color:#f2edff;font-family:"League Spartan",sans-serif;font-weight:700;font-size:14px;
  box-shadow:0 8px 26px rgba(0,0,0,.45);transition:.2s;white-space:nowrap}
.fab-opt:hover{transform:translateX(-4px);border-color:rgba(255,90,122,.6)}
.fab-opt .ic{width:26px;height:26px;border-radius:50%;display:block;flex:none;
  background-repeat:no-repeat;background-position:center;background-size:15px}
.fab-opt .ic.wa{background-color:#25d366;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.3 4.7 4.9-1.3A10 10 0 1 0 12 2zm5.3 14.1c-.2.6-1.3 1.2-1.8 1.2-.5.1-1.1.1-1.8-.1-.4-.1-1-.3-1.7-.6-3-1.3-4.9-4.3-5-4.5-.2-.2-1.2-1.6-1.2-3s.7-2.1 1-2.4c.2-.3.5-.4.7-.4h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.4 0 .5l-.3.5-.4.4c-.1.1-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.4 2.4 1.5.3.1.5.1.6-.1l.9-1c.2-.2.4-.2.6-.1l2 .9c.2.1.4.2.4.3.1.1.1.6-.1 1.2z'/%3E%3C/svg%3E")}
.fab-opt .ic.mail{background-color:#5b8cff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E")}
.fab-opt .ic.tel{background-color:#ff8a5c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E")}

/* ---------- TANIT ---------- */
#tanit{position:fixed;left:20px;bottom:20px;z-index:70}
.tanit-fab{position:relative;width:66px;height:66px;border-radius:50%;border:2px solid rgba(232,207,142,.6);
  cursor:pointer;padding:0;overflow:visible;background:radial-gradient(circle at 40% 30%,#2a1b4d,#120c26);
  box-shadow:0 10px 34px rgba(120,60,200,.45);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.tanit-fab img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.tanit-fab:hover{transform:scale(1.08)}
.tanit-pulse{position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(232,207,142,.55);
  animation:tanit-p 2.6s ease-out infinite;pointer-events:none}
@keyframes tanit-p{0%{transform:scale(.92);opacity:.85}100%{transform:scale(1.3);opacity:0}}
.tanit-panel{position:absolute;left:0;bottom:82px;width:min(370px,calc(100vw - 40px));
  background:linear-gradient(170deg,#1c1240,#100a24);border:1px solid rgba(232,207,142,.28);
  border-radius:20px;box-shadow:0 26px 70px rgba(0,0,0,.6);overflow:hidden;
  display:flex;flex-direction:column;max-height:min(560px,calc(100vh - 130px));
  opacity:0;pointer-events:none;transform:translateY(18px) scale(.96);transform-origin:bottom left;
  transition:opacity .28s,transform .34s cubic-bezier(.34,1.4,.64,1)}
#tanit.open .tanit-panel{opacity:1;pointer-events:auto;transform:none}
.tanit-head{display:flex;align-items:center;gap:11px;padding:14px 16px;
  background:linear-gradient(100deg,rgba(232,207,142,.14),rgba(227,50,168,.14));
  border-bottom:1px solid rgba(255,255,255,.09)}
.tanit-head img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(232,207,142,.6)}
.tanit-head strong{display:block;font-family:"League Spartan",sans-serif;font-weight:800;font-size:16px;color:#f4eefb}
.tanit-head small{display:block;font-size:11.5px;color:#c3aee0;letter-spacing:.04em}
.tanit-x{margin-left:auto;background:none;border:0;color:#c3aee0;font-size:26px;line-height:1;cursor:pointer;padding:0 4px}
.tanit-x:hover{color:#fff}
.tanit-cta{display:flex;align-items:center;justify-content:center;gap:9px;margin:12px 16px 4px;
  padding:11px 14px;border-radius:99px;text-decoration:none;
  background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.4);
  color:#eafff2;font-family:"League Spartan",sans-serif;font-weight:700;font-size:13.5px;
  transition:background .2s,transform .2s,border-color .2s}
.tanit-cta svg{width:18px;height:18px;flex:none;color:#25d366}
.tanit-cta:hover{background:rgba(37,211,102,.24);border-color:rgba(37,211,102,.65);transform:translateY(-1px)}
.tanit-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:170px}
.tanit-msg{max-width:88%;padding:11px 14px;border-radius:15px;font-size:14.5px;line-height:1.6;
  animation:tanit-in .3s ease-out}
@keyframes tanit-in{from{opacity:0;transform:translateY(8px)}}
.tanit-msg.bot{align-self:flex-start;background:rgba(255,255,255,.07);color:#efe9ff;border-bottom-left-radius:5px}
.tanit-msg.yo{align-self:flex-end;background:var(--grad,linear-gradient(100deg,#e1131d,#e332a8));color:#fff;border-bottom-right-radius:5px}
.tanit-msg b{color:#f5d98a}
.tanit-msg.bot i{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;
  background:#c3aee0;animation:tanit-dot 1.2s infinite}
.tanit-msg.bot i:nth-child(2){animation-delay:.18s}
.tanit-msg.bot i:nth-child(3){animation-delay:.36s}
@keyframes tanit-dot{0%,60%,100%{opacity:.3}30%{opacity:1}}
.tanit-sug{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 12px}
.tanit-sug button{background:rgba(232,207,142,.12);border:1px solid rgba(232,207,142,.3);color:#f0e2bb;
  border-radius:99px;padding:7px 12px;font-family:"League Spartan",sans-serif;font-size:12.5px;font-weight:600;
  cursor:pointer;transition:.2s}
.tanit-sug button:hover{background:rgba(232,207,142,.22)}
.tanit-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.09)}
.tanit-form input{flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);
  border-radius:99px;padding:11px 16px;color:#f2edff;font-family:"League Spartan",sans-serif;font-size:14.5px;outline:none}
.tanit-form input:focus{border-color:rgba(232,207,142,.55)}
.tanit-form button{width:42px;border:0;border-radius:50%;cursor:pointer;color:#fff;font-size:15px;
  background:var(--grad,linear-gradient(100deg,#e1131d,#e332a8))}
.tanit-nota{padding:0 16px 12px;margin:0;font-size:10.5px;color:#8f7fb0;line-height:1.5}
@media(max-width:520px){
  #tanit{left:14px;bottom:14px}
  .tanit-fab{width:56px;height:56px}
  .tanit-panel{width:calc(100vw - 28px);bottom:70px}
  #fab-wrap{right:14px;bottom:14px}
}
