/* Davi: asistente flotante de preguntas frecuentes */
.davi-assistant-toggle{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:240;
  width:76px;
  height:76px;
  padding:0;
  border:2px solid rgba(241,242,244,.86);
  border-radius:50%;
  background:linear-gradient(145deg, #24262b, #09090b);
  box-shadow:0 20px 42px -16px rgba(0,0,0,.92), 0 0 0 5px rgba(241,242,244,.1);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;
}
.davi-assistant-toggle:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 24px 48px -16px rgba(0,0,0,.96), 0 0 0 6px rgba(241,242,244,.17);
}
.davi-assistant-toggle:focus-visible{
  outline:3px solid var(--silver-bright);
  outline-offset:5px;
}
.davi-assistant-toggle img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:50%;
}
.davi-assistant-online{
  position:absolute;
  right:2px;
  bottom:7px;
  width:16px;
  height:16px;
  border:3px solid var(--black);
  border-radius:50%;
  background:var(--whatsapp);
}
.davi-assistant-label{
  position:absolute;
  right:calc(100% + 12px);
  top:50%;
  transform:translate(5px,-50%);
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:100px;
  background:rgba(10,10,12,.95);
  color:var(--silver-bright);
  font:700 10px/1.2 var(--font-body);
  letter-spacing:.08em;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.davi-assistant-toggle:hover .davi-assistant-label,
.davi-assistant-toggle:focus-visible .davi-assistant-label{
  opacity:1;
  transform:translate(0,-50%);
}
.davi-assistant-panel{
  position:fixed;
  right:22px;
  bottom:112px;
  z-index:250;
  width:min(390px, calc(100vw - 44px));
  max-height:min(650px, calc(100vh - 150px));
  overflow:hidden;
  border:1px solid rgba(241,242,244,.22);
  border-radius:24px;
  background:rgba(15,15,18,.98);
  color:var(--silver-bright);
  box-shadow:0 30px 70px -20px rgba(0,0,0,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.davi-assistant-panel[hidden]{ display:none; }
.davi-assistant-panel.is-opening{
  transform-origin:100% 100%;
  animation:davi-panel-arrival .5s cubic-bezier(.2,.8,.25,1) both;
}
@keyframes davi-panel-arrival{
  0%{ opacity:0; transform:translate(22px,18px) scale(.9); }
  68%{ opacity:1; transform:translate(-3px,-2px) scale(1.015); }
  100%{ opacity:1; transform:translate(0,0) scale(1); }
}
.davi-assistant-header{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 38px;
  align-items:center;
  gap:12px;
  padding:16px;
  border-bottom:1px solid var(--line-soft);
  background:linear-gradient(135deg, rgba(241,242,244,.1), transparent 65%);
}
.davi-assistant-header img{
  width:58px;
  height:58px;
  object-fit:contain;
}
.davi-assistant-panel.is-arriving .davi-assistant-header img{
  position:relative;
  z-index:4;
  animation:davi-flight-inside-panel 1.08s cubic-bezier(.2,.7,.2,1) both;
}
.davi-assistant-panel.is-arriving .davi-assistant-header-copy{
  animation:davi-copy-after-landing .3s ease .88s both;
}
@keyframes davi-flight-inside-panel{
  0%{ opacity:0; transform:translate(260px,430px) rotate(24deg) scale(.52); }
  12%{ opacity:1; }
  30%{ transform:translate(188px,320px) rotate(-13deg) scale(.72); }
  52%{ transform:translate(104px,188px) rotate(12deg) scale(.9); }
  72%{ transform:translate(38px,88px) rotate(-8deg) scale(1.04); }
  88%{ transform:translate(-7px,-9px) rotate(4deg) scale(1.1); }
  100%{ opacity:1; transform:translate(0,0) rotate(0) scale(1); }
}
@keyframes davi-copy-after-landing{
  0%{ opacity:0; transform:translateY(9px); }
  100%{ opacity:1; transform:translateY(0); }
}
.davi-assistant-header span{
  display:block;
  margin-bottom:3px;
  color:var(--silver-fog);
  font:700 9px/1.2 var(--font-body);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.davi-assistant-header h2{
  margin:0;
  font:700 22px/1.05 var(--font-display);
}
.davi-assistant-close{
  width:38px;
  height:38px;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--charcoal);
  color:var(--silver-bright);
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.davi-assistant-messages{
  display:flex;
  flex-direction:column;
  gap:9px;
  min-height:132px;
  max-height:230px;
  overflow-y:auto;
  padding:16px;
}
.davi-message{
  max-width:88%;
  padding:10px 12px;
  border-radius:15px;
  font-size:12.5px;
  line-height:1.5;
}
.davi-message-bot{
  align-self:flex-start;
  border:1px solid var(--line);
  border-bottom-left-radius:4px;
  background:var(--charcoal-2);
  color:var(--silver-bright);
}
.davi-message-user{
  align-self:flex-end;
  border-bottom-right-radius:4px;
  background:var(--silver-bright);
  color:var(--black);
}
.davi-assistant-topics{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:0 16px 12px;
}
.davi-assistant-topics button,
.davi-assistant-footer button,
.davi-assistant-footer a{
  flex:none;
  border:1px solid var(--line);
  border-radius:100px;
  background:transparent;
  color:var(--silver-bright);
  padding:8px 10px;
  font:700 10px/1.2 var(--font-body);
  cursor:pointer;
}
.davi-assistant-topics button:hover,
.davi-assistant-footer button:hover,
.davi-assistant-footer a:hover{
  border-color:var(--silver-bright);
  background:rgba(241,242,244,.08);
}
.davi-assistant-form{
  padding:13px 16px;
  border-top:1px solid var(--line-soft);
}
.davi-assistant-form label{
  display:block;
  margin-bottom:7px;
  color:var(--silver-fog);
  font:700 9px/1.2 var(--font-body);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.davi-assistant-form > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.davi-assistant-form input{
  min-width:0;
  height:42px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--black);
  color:var(--silver-bright);
  padding:0 12px;
  font:400 12px/1 var(--font-body);
}
.davi-assistant-form input:focus{
  outline:none;
  border-color:var(--silver-bright);
}
.davi-assistant-form button{
  border:0;
  border-radius:12px;
  background:var(--silver-bright);
  color:var(--black);
  padding:0 14px;
  font:800 11px/1 var(--font-body);
  cursor:pointer;
}
.davi-assistant-footer{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:0 16px 16px;
}
.davi-assistant-footer a{
  border-color:rgba(37,211,102,.46);
  color:#89efa9;
}
.davi-design-tour{
  position:fixed;
  inset:0;
  z-index:300;
  pointer-events:none;
}
.davi-design-tour-highlight{
  position:fixed;
  left:var(--davi-highlight-x);
  top:var(--davi-highlight-y);
  width:var(--davi-highlight-width);
  height:var(--davi-highlight-height);
  border:3px solid var(--silver-bright);
  border-radius:20px;
  box-shadow:0 0 0 9999px rgba(0,0,0,.58), 0 0 34px rgba(241,242,244,.52);
  animation:davi-design-highlight .75s ease .82s both;
}
.davi-design-tour-mascot{
  position:fixed;
  left:var(--davi-from-x);
  top:var(--davi-from-y);
  width:94px;
  height:94px;
  z-index:2;
  filter:drop-shadow(0 15px 18px rgba(0,0,0,.55));
  animation:davi-fly-to-designs 1.65s cubic-bezier(.16,.72,.18,1) both;
  will-change:transform, opacity;
}
.davi-design-tour-mascot img{
  position:relative;
  z-index:3;
  width:100%;
  height:100%;
  object-fit:contain;
}
.davi-thruster{
  position:absolute;
  z-index:1;
  bottom:-22px;
  width:15px;
  height:42px;
  border-radius:50% 50% 55% 55%;
  transform-origin:50% 0;
  background:linear-gradient(to bottom, #fff 0 12%, #fff59a 18%, #ffb000 48%, #ff3d00 74%, transparent 100%);
  filter:drop-shadow(0 5px 7px #ff5a00) drop-shadow(0 10px 13px rgba(255,61,0,.75));
  animation:davi-thruster-fire .105s ease-in-out infinite alternate, davi-propulsion-window 1.65s linear both;
}
.davi-thruster::after{
  content:"";
  position:absolute;
  inset:3px 4px 13px;
  border-radius:inherit;
  background:linear-gradient(to bottom, #fff, #ffe600 50%, transparent);
}
.davi-thruster-left{ left:25px; transform:rotate(7deg); }
.davi-thruster-right{ right:25px; transform:rotate(-7deg); animation-delay:-.055s; }
.davi-flight-trail{
  position:absolute;
  z-index:0;
  left:50%;
  bottom:-48px;
  width:54px;
  height:76px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at top, rgba(255,179,0,.46), rgba(255,61,0,.15) 44%, transparent 72%);
  filter:blur(7px);
  animation:davi-trail-pulse .16s ease-in-out infinite alternate, davi-propulsion-window 1.65s linear both;
}
.davi-design-tour-bubble{
  position:fixed;
  left:var(--davi-bubble-x);
  top:var(--davi-bubble-y);
  z-index:3;
  width:min(350px, calc(100vw - 24px));
  padding:20px;
  border:1px solid rgba(241,242,244,.42);
  border-radius:20px;
  background:rgba(15,15,18,.98);
  color:var(--silver-bright);
  box-shadow:0 30px 70px -18px rgba(0,0,0,.95);
  pointer-events:auto;
  animation:davi-design-bubble-arrival .36s ease 1s both;
}
.davi-design-tour-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--silver-fog);
  font:800 10px/1.2 var(--font-body);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.davi-design-tour-bubble h2{
  margin:0 0 10px;
  font:700 24px/1.1 var(--font-display);
}
.davi-design-tour-bubble p{
  margin:0;
  color:var(--silver);
  font:400 13px/1.55 var(--font-body);
}
.davi-design-tour-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:16px;
}
.davi-design-tour-actions button{
  min-height:40px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:100px;
  background:transparent;
  color:var(--silver-bright);
  font:800 10px/1 var(--font-body);
  cursor:pointer;
}
.davi-design-tour-actions .davi-design-tour-open{
  border-color:var(--silver-bright);
  background:var(--silver-bright);
  color:var(--black);
}
@keyframes davi-fly-to-designs{
  0%{ opacity:0; transform:translate(0,12px) rotate(12deg) scale(.68); }
  8%{ opacity:1; transform:translate(0,0) rotate(12deg) scale(.72); }
  24%{ transform:translate(var(--davi-flight-early-x), var(--davi-flight-early-y)) rotate(-9deg) scale(.84); }
  46%{ transform:translate(var(--davi-flight-mid-x), var(--davi-flight-mid-y)) rotate(-14deg) scale(.94); }
  67%{ transform:translate(var(--davi-flight-late-x), var(--davi-flight-late-y)) rotate(9deg) scale(1.04); }
  84%{ transform:translate(var(--davi-flight-preland-x), var(--davi-flight-preland-y)) rotate(-5deg) scale(1.08); }
  94%{ transform:translate(var(--davi-flight-bounce-x), var(--davi-flight-bounce-y)) rotate(2deg) scale(.99); }
  100%{ opacity:1; transform:translate(var(--davi-flight-x), var(--davi-flight-y)) rotate(0) scale(1); }
}
@keyframes davi-thruster-fire{
  0%{ height:34px; scale:.82 1; }
  100%{ height:49px; scale:1.12 1; }
}
@keyframes davi-trail-pulse{
  from{ transform:translateX(-50%) scale(.78,.86); }
  to{ transform:translateX(-50%) scale(1.12,1.08); }
}
@keyframes davi-propulsion-window{
  0%{ opacity:0; }
  7%{ opacity:1; }
  82%{ opacity:1; }
  100%{ opacity:0; }
}
@keyframes davi-design-highlight{
  from{ opacity:0; transform:scale(.96); }
  to{ opacity:1; transform:scale(1); }
}
@keyframes davi-design-bubble-arrival{
  from{ opacity:0; transform:translateY(12px) scale(.97); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
@media (max-width:560px){
  .davi-assistant-toggle{
    right:14px;
    bottom:14px;
    width:66px;
    height:66px;
  }
  .davi-assistant-label{ display:none; }
  .davi-assistant-panel{
    left:12px;
    right:12px;
    bottom:92px;
    width:auto;
    max-height:calc(100vh - 120px);
    border-radius:20px;
  }
  .davi-assistant-messages{ max-height:190px; }
  .davi-assistant-footer{ flex-direction:column; }
  .davi-assistant-footer button,
  .davi-assistant-footer a{ text-align:center; }
  .davi-design-tour-bubble{
    left:12px !important;
    top:auto !important;
    bottom:14px;
    width:calc(100vw - 24px);
    padding:17px;
  }
  .davi-design-tour-bubble h2{ font-size:21px; }
  .davi-design-tour-actions{ flex-direction:column-reverse; }
  .davi-design-tour-actions button{ width:100%; }
}
@media (prefers-reduced-motion:reduce){
  .davi-assistant-toggle,
  .davi-assistant-label{ transition:none; }
  .davi-assistant-panel.is-opening,
  .davi-assistant-panel.is-arriving .davi-assistant-header img,
  .davi-assistant-panel.is-arriving .davi-assistant-header-copy,
  .davi-design-tour-mascot,
  .davi-design-tour-highlight,
  .davi-design-tour-bubble{ animation:none; }
  .davi-thruster,
  .davi-flight-trail{ display:none; }
}
