/* Astro: mascota animada (ver astro-mascota.js) */
.astro-mascota { display: block; position: relative; }
.astro-mascota .am-svg { width: 100%; height: auto; overflow: visible; }
.astro-mascota[data-astro-interactivo] { cursor: pointer; }

/* ---------- Caras ---------- */
.am-cara { display: none; }
.astro-mascota[data-cara="normal"] .am-cara[data-cara="normal"],
.astro-mascota[data-cara="atento"] .am-cara[data-cara="atento"],
.astro-mascota[data-cara="feliz"] .am-cara[data-cara="feliz"],
.astro-mascota[data-cara="guino"] .am-cara[data-cara="guino"],
.astro-mascota[data-cara="sorpresa"] .am-cara[data-cara="sorpresa"],
.astro-mascota[data-cara="cool"] .am-cara[data-cara="cool"],
.astro-mascota[data-cara="pensando"] .am-cara[data-cara="pensando"],
.astro-mascota[data-cara="hablando"] .am-cara[data-cara="hablando"] { display: inline; animation: am-cara-entra .22s ease both; }
.am-ojos { fill: #d9ceff; }
.am-trazo { fill: none; stroke: #d9ceff; stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.am-gafas-brillo { fill: #1b1830; }
.am-parpado, .am-cara { transform-box: fill-box; transform-origin: center; }
.astro-mascota.parpadea .am-parpado { transform: scaleY(.08); }
.am-parpado { transition: transform .08s ease; }
.am-mira { transition: transform .25s ease-out; }
.am-cabeza { transform-box: view-box; transform-origin: 200px 250px; transition: transform .4s ease-out; }
.am-boca-voz { transition: ry .08s linear, rx .08s linear; }

/* ---------- Movimiento base (idle: respira, flota, luces) ---------- */
.am-flota { animation: am-flotar 4.2s ease-in-out infinite; }
.am-torso { transform-box: fill-box; transform-origin: 50% 30%; animation: am-respirar 4.2s ease-in-out infinite; }
.am-sombra { transform-box: fill-box; transform-origin: center; animation: am-sombra 4.2s ease-in-out infinite; }
.am-llama { transform-box: fill-box; transform-origin: 50% 0; animation: am-llama .5s ease-in-out infinite alternate; }
.am-anillo, .am-luz { animation: am-pulso 2.4s ease-in-out infinite; }
.am-estrella { animation: am-titilar 2.6s ease-in-out infinite; }
.am-estrella:nth-child(2) { animation-delay: .4s; } .am-estrella:nth-child(3) { animation-delay: .8s; }
.am-estrella:nth-child(4) { animation-delay: 1.2s; } .am-estrella:nth-child(5) { animation-delay: 1.6s; }
.am-estrella:nth-child(6) { animation-delay: 2s; } .am-estrella:nth-child(7) { animation-delay: .6s; }
.am-estrella:nth-child(8) { animation-delay: 1.4s; }
.am-brazo-mueve { transform-origin: 0 0; }
.astro-mascota-completo .am-brazo-izq .am-brazo-mueve { animation: am-balanceo 4.2s ease-in-out infinite; }
.astro-mascota.saludando .am-brazo-izq .am-brazo-mueve { animation: am-saludar .55s ease-in-out 4; }
.astro-mascota.saludando .am-flota { animation: am-brinco .7s ease-out, am-flotar 4.2s ease-in-out .7s infinite; }
.astro-mascota[data-cara="pensando"] .am-cabeza { transform: rotate(-6deg) !important; }
.am-mic-luz { opacity: .35; }

/* Partículas: tenues en idle, vivas al pensar y cotizar */
.am-particula { transform-box: fill-box; transform-origin: center; opacity: 0; animation: am-particula 5s ease-in-out infinite; }
.am-p2 { animation-delay: .7s; } .am-p3 { animation-delay: 1.4s; } .am-p4 { animation-delay: 2.1s; }
.am-p5 { animation-delay: 2.8s; } .am-p6 { animation-delay: 3.5s; } .am-p7 { animation-delay: 4.2s; } .am-p8 { animation-delay: 1s; }
.astro-mascota-cabeza .am-particula { display: none; }

/* Capas que solo aparecen en ciertos estados */
.am-halo { opacity: 0; transition: opacity .5s ease; transform-box: fill-box; transform-origin: center; }
.am-holo { opacity: 0; transition: opacity .4s ease; }
.am-holo-anillo { transform-box: fill-box; transform-origin: center; }
.am-ondas, .am-proceso { opacity: 0; fill: #d9ceff; transition: opacity .25s ease; }
.am-barrido { transition: opacity .3s; }

/* ---------- Estado: saludando ---------- */
.astro-mascota[data-estado="saludando"] .am-halo { opacity: .8; animation: am-halo 1.6s ease-in-out infinite; }

/* ---------- Estado: escuchando ---------- */
.astro-mascota[data-estado="escuchando"] .am-ondas { opacity: 1; }
.astro-mascota[data-estado="escuchando"] .am-ondas rect { transform-box: fill-box; transform-origin: center; animation: am-onda .9s ease-in-out infinite alternate; }
.astro-mascota[data-estado="escuchando"] .am-ondas rect:nth-child(2n) { animation-delay: .15s; }
.astro-mascota[data-estado="escuchando"] .am-ondas rect:nth-child(3n) { animation-delay: .3s; }
.astro-mascota[data-estado="escuchando"] .am-mic-luz { opacity: 1; animation: am-pulso-fuerte 1s ease-in-out infinite; }
.astro-mascota[data-estado="escuchando"] .am-luz, .astro-mascota[data-estado="escuchando"] .am-anillo { animation: am-pulso-fuerte 1s ease-in-out infinite; }
.astro-mascota[data-estado="escuchando"] .am-halo { opacity: .7; animation: am-halo 1s ease-in-out infinite; }
.astro-mascota[data-estado="escuchando"] .am-cabeza { transform: rotate(4deg) !important; }

/* ---------- Estado: pensando ---------- */
.astro-mascota[data-estado="pensando"] .am-proceso { opacity: 1; }
.astro-mascota[data-estado="pensando"] .am-proceso circle { animation: astro-bounce 1s infinite ease-in-out; transform-box: fill-box; transform-origin: center; }
.astro-mascota[data-estado="pensando"] .am-proceso circle:nth-child(2) { animation-delay: .15s; }
.astro-mascota[data-estado="pensando"] .am-proceso circle:nth-child(3) { animation-delay: .3s; }
.astro-mascota[data-estado="pensando"] .am-particula { animation-duration: 2.2s; }
.astro-mascota[data-estado="pensando"] .am-halo { opacity: .6; animation: am-halo 2s ease-in-out infinite; }
.astro-mascota[data-estado="pensando"] .am-cabeza { animation: am-cabeza-piensa 2.4s ease-in-out infinite; }
.astro-mascota[data-estado="pensando"] .am-barrido { opacity: .12; animation: am-barrido 1.6s linear infinite; }

/* ---------- Estado: hablando ---------- */
.astro-mascota[data-estado="hablando"] .am-cabeza { animation: am-cabeza-habla 1.8s ease-in-out infinite; }
.astro-mascota[data-estado="hablando"] .am-boca-voz { animation: am-boca .32s ease-in-out infinite alternate; }
.astro-mascota[data-estado="hablando"].con-audio .am-boca-voz { animation: none; }
.astro-mascota[data-estado="hablando"] .am-luz { animation: am-pulso-fuerte .6s ease-in-out infinite; }
.astro-mascota[data-estado="hablando"] .am-halo { opacity: .5; animation: am-halo 1.2s ease-in-out infinite; }
.astro-mascota[data-estado="hablando"] .am-torso { animation: am-respirar 1.8s ease-in-out infinite; }

/* ---------- Estado: cotizando ---------- */
.astro-mascota[data-estado="cotizando"] .am-holo { opacity: 1; }
.astro-mascota[data-estado="cotizando"] .am-holo-anillo { animation: am-holo-gira 6s linear infinite; }
.astro-mascota[data-estado="cotizando"] .am-holo-2 { animation-direction: reverse; animation-duration: 4s; }
.astro-mascota[data-estado="cotizando"] .am-holo-tag { animation: am-holo-tag 1.8s ease-in-out infinite; }
.astro-mascota[data-estado="cotizando"] .am-holo-tag2 { animation-delay: .9s; }
.astro-mascota[data-estado="cotizando"] .am-proceso { opacity: 1; }
.astro-mascota[data-estado="cotizando"] .am-proceso circle { animation: astro-bounce .8s infinite ease-in-out; transform-box: fill-box; transform-origin: center; }
.astro-mascota[data-estado="cotizando"] .am-proceso circle:nth-child(2) { animation-delay: .12s; }
.astro-mascota[data-estado="cotizando"] .am-proceso circle:nth-child(3) { animation-delay: .24s; }
.astro-mascota[data-estado="cotizando"] .am-particula { animation-duration: 1.6s; fill: #ffd23f; }
.astro-mascota[data-estado="cotizando"] .am-halo { opacity: .9; animation: am-halo 1.2s ease-in-out infinite; }
.astro-mascota[data-estado="cotizando"] .am-barrido { opacity: .16; animation: am-barrido 1.1s linear infinite; }
.astro-mascota[data-estado="cotizando"] .am-cabeza { animation: am-cabeza-piensa 1.6s ease-in-out infinite; }

@keyframes am-flotar { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes am-respirar { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.025, 1.035); } }
@keyframes am-sombra { 0%, 100% { transform: scaleX(1); opacity: .16; } 50% { transform: scaleX(.78); opacity: .09; } }
@keyframes am-llama { from { transform: scaleY(.8); opacity: .75; } to { transform: scaleY(1.08); opacity: 1; } }
@keyframes am-pulso { 50% { opacity: .55; } }
@keyframes am-pulso-fuerte { 50% { opacity: .25; } }
@keyframes am-titilar { 50% { opacity: .2; } }
@keyframes am-balanceo { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(-6deg); } }
@keyframes am-saludar { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(-20deg); } }
@keyframes am-brinco { 0% { transform: translateY(0); } 35% { transform: translateY(-26px); } 70% { transform: translateY(4px); } 100% { transform: translateY(0); } }
@keyframes am-cara-entra { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes am-particula { 0% { opacity: 0; transform: translate(0, 0) scale(.6); } 20% { opacity: .9; } 50% { transform: translate(6px, -16px) scale(1.1); } 80% { opacity: .6; } 100% { opacity: 0; transform: translate(-4px, -30px) scale(.4); } }
@keyframes am-halo { 0%, 100% { transform: scale(.92); opacity: .45; } 50% { transform: scale(1.06); opacity: .9; } }
@keyframes am-onda { from { transform: scaleY(.3); } to { transform: scaleY(1.15); } }
@keyframes am-cabeza-piensa { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(-2deg) translateY(-2px); } }
@keyframes am-cabeza-habla { 0%, 100% { transform: rotate(-1.5deg); } 50% { transform: rotate(2deg) translateY(-3px); } }
@keyframes am-boca { from { ry: 3; rx: 10; } to { ry: 12; rx: 14; } }
@keyframes am-barrido { from { transform: translateX(-50px); } to { transform: translateX(200px); } }
@keyframes am-holo-gira { from { transform: rotateX(0) rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes am-holo-tag { 0%, 100% { transform: translateY(0); opacity: .7; } 50% { transform: translateY(-8px); opacity: 1; } }
@keyframes astro-bounce { 0%, 80%, 100% { transform: translateY(0); opacity: .5; } 40% { transform: translateY(-5px); opacity: 1; } }

/* Solo cabeza (avatar del chat) */
.astro-mascota-cabeza .am-flota { animation-duration: 3s; }
.astro-mascota-cabeza .am-sombra, .astro-mascota-cabeza .am-holo-tag { display: none; }
.astro-mascota-cabeza .am-halo circle { r: 125; }

@media (prefers-reduced-motion: reduce) {
  .astro-mascota *, .astro-mascota { animation: none !important; transition: none !important; }
}

/* ---------- Hero con Astro ---------- */
.orbit-astro { position: absolute; inset: 4% 12% 0; z-index: 3; background: none; border: 0; padding: 0; }
.orbit-astro:focus-visible { outline-offset: -8px; border-radius: 40px; }
.astro-bocadillo {
  position: absolute; z-index: 4; top: 6%; left: -4%; max-width: 230px;
  padding: 12px 16px; border-radius: 18px 18px 18px 6px;
  background: #fff; border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--violet);
  font: 700 .98rem/1.35 var(--text); color: var(--ink);
  transition: opacity .3s ease, transform .3s ease;
}
.astro-bocadillo.cambia { opacity: 0; transform: translateY(6px); }
@media (min-width: 880px) { .astro-bocadillo { left: -10%; top: 10%; } }

/* ---------- Sección "Conoce a Astro" ---------- */
.astro-seccion { position: relative; overflow: hidden; }
.astro-seccion::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .55;
  background-image: radial-gradient(circle, rgba(139, 108, 255, .55) 1px, transparent 1.6px);
  background-size: 14px 14px;
  -webkit-mask-image: radial-gradient(ellipse 40% 50% at 8% 15%, #000, transparent), radial-gradient(ellipse 35% 45% at 95% 30%, #000, transparent);
          mask-image: radial-gradient(ellipse 40% 50% at 8% 15%, #000, transparent), radial-gradient(ellipse 35% 45% at 95% 30%, #000, transparent);
}
.astro-grid { position: relative; display: grid; gap: 40px; align-items: center; }
.astro-escena { position: relative; width: min(100%, 440px); margin: 0 auto; }
.astro-escena::before {
  content: ''; position: absolute; inset: 10% 5% 18%; border-radius: 50%;
  background: radial-gradient(circle, rgba(90, 60, 240, .45), transparent 65%); filter: blur(10px);
}
.astro-escena .orbit-astro { position: relative; inset: auto; width: 100%; }
.astro-seccion .section-head { margin-bottom: 0; }
.astro-seccion .hero-actions { margin-top: 28px; margin-bottom: 0; }
.astro-rasgos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.astro-rasgo {
  display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px 16px; text-align: left;
  border-radius: 16px; border: 1.5px solid var(--night-line); background: var(--night-2); color: var(--on-night);
  font: 700 .98rem/1.25 var(--text); cursor: pointer; transition: border-color .2s ease, transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.astro-rasgo:hover, .astro-rasgo:focus-visible, .astro-rasgo.activo { border-color: var(--violet); background: #241d52; transform: translateY(-2px); box-shadow: 0 10px 30px rgba(90, 60, 240, .25); }
.astro-rasgo svg { width: 26px; height: 26px; flex: none; color: #b9a4ff; }
.astro-rasgo small { display: block; font-weight: 500; color: var(--on-night-2); font-size: .82rem; margin-top: 2px; }
@media (min-width: 880px) { .astro-grid { grid-template-columns: 1fr 1.05fr; gap: 64px; } }
@media (max-width: 400px) { .astro-rasgos { grid-template-columns: 1fr; } }

/* Avatar del chat con la cabeza de Astro */
.astro-avatar.astro-mascota { background: var(--violet-soft); }
.astro-avatar .am-svg { width: 112%; margin: 4% -6% 0; }


/* ---------- Astro 3D: render de Higgsfield con la cara animada encima ---------- */
.astro-mascota-3d { display: block; position: relative; }
.am3d { position: relative; width: 100%; }
.am3d-flota { position: relative; animation: am-flotar 4.2s ease-in-out infinite; }
.am3d-figura { position: relative; transform-origin: 50% 70%; transition: transform .4s ease-out; }
.am3d-img { display: block; width: 100%; height: auto; user-select: none; -webkit-user-drag: none; filter: drop-shadow(0 18px 30px rgba(90, 60, 240, .22)); }
.am3d-cara { position: absolute; left: var(--vx, 30%); top: var(--vy, 20%); width: var(--vw, 40%); height: var(--vh, 22%); transform: rotate(var(--vr, 0deg)) skewX(var(--vs, 0deg)); overflow: visible; pointer-events: none; }
.am3d-cara .am-mira { transition: transform .25s ease-out; }
.astro-mascota-3d-cabeza .am3d-flota { animation-duration: 3.2s; }
.astro-mascota-3d-cabeza .am3d-flota { animation-name: am-flotar-corto; }
@keyframes am-flotar-corto { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.astro-mascota-3d.saludando .am3d-flota { animation: am-brinco .7s ease-out, am-flotar 4.2s ease-in-out .7s infinite; }
.astro-mascota-3d.saludando .am3d-figura { animation: am3d-saludo .55s ease-in-out 4; }
@keyframes am3d-saludo { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(-4deg) translateX(-2px); } }

/* Halo, hologramas y partículas (alrededor de la figura) */
.am3d-halo { position: absolute; inset: -6% 8% 12%; border-radius: 50%; background: radial-gradient(circle, rgba(139, 108, 255, .45), transparent 65%); opacity: 0; filter: blur(14px); transition: opacity .5s ease; pointer-events: none; }
.am3d-holo { position: absolute; left: 50%; top: 36%; width: 110%; height: 34%; transform: translate(-50%, -50%); opacity: 0; transition: opacity .4s ease; pointer-events: none; }
.am3d-holo i { position: absolute; inset: 0; border-radius: 50%; border: 1.5px dashed rgba(185, 164, 255, .9); }
.am3d-holo i:nth-child(2) { inset: 14% 12%; border-style: dotted; border-color: rgba(139, 108, 255, .8); }
.am3d-tag { position: absolute; width: 16%; height: 22%; border-radius: 6px; background: #241d52; border: 1px solid #8b6cff; top: 0; right: 0; box-shadow: 0 6px 18px rgba(90, 60, 240, .35); }
.am3d-tag::before, .am3d-tag::after { content: ''; position: absolute; left: 12%; height: 18%; border-radius: 3px; background: #b9a4ff; top: 24%; width: 40%; }
.am3d-tag::after { top: 56%; width: 64%; background: #5a3cf0; }
.am3d-tag2 { left: 0; right: auto; top: auto; bottom: 0; }
.am3d-tag2::before { background: #ffd23f; }
.am3d-particulas { position: absolute; inset: 0; pointer-events: none; }
.am3d-particula { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #8b6cff; opacity: 0; animation: am3d-particula 5s ease-in-out infinite; box-shadow: 0 0 8px rgba(139, 108, 255, .8); }
.am3d-p1 { left: 10%; top: 22%; } .am3d-p2 { left: 86%; top: 18%; animation-delay: .7s; width: 4px; height: 4px; } .am3d-p3 { left: 90%; top: 52%; animation-delay: 1.4s; }
.am3d-p4 { left: 6%; top: 58%; animation-delay: 2.1s; width: 4px; height: 4px; } .am3d-p5 { left: 50%; top: 4%; animation-delay: 2.8s; } .am3d-p6 { left: 78%; top: 72%; animation-delay: 3.5s; width: 4px; height: 4px; }
.am3d-p7 { left: 22%; top: 8%; animation-delay: 4.2s; width: 3px; height: 3px; } .am3d-p8 { left: 94%; top: 36%; animation-delay: 1s; width: 3px; height: 3px; }
@keyframes am3d-particula { 0% { opacity: 0; transform: translate(0, 0) scale(.6); } 20% { opacity: .9; } 50% { transform: translate(6px, -16px) scale(1.1); } 80% { opacity: .6; } 100% { opacity: 0; transform: translate(-4px, -30px) scale(.4); } }
.astro-mascota-3d-cabeza .am3d-particulas, .astro-mascota-3d-cabeza .am3d-holo .am3d-tag { display: none; }

/* Estados sobre el 3D */
.astro-mascota-3d[data-estado="saludando"] .am3d-halo { opacity: .9; animation: am3d-halo 1.6s ease-in-out infinite; }
.astro-mascota-3d[data-estado="escuchando"] .am3d-halo { opacity: .8; animation: am3d-halo 1s ease-in-out infinite; }
.astro-mascota-3d[data-estado="escuchando"] .am3d-figura { transform: rotate(3deg) !important; }
.astro-mascota-3d[data-estado="pensando"] .am3d-halo { opacity: .6; animation: am3d-halo 2s ease-in-out infinite; }
.astro-mascota-3d[data-estado="pensando"] .am3d-figura { animation: am3d-piensa 2.4s ease-in-out infinite; }
.astro-mascota-3d[data-estado="pensando"] .am3d-particula { animation-duration: 2.2s; }
.astro-mascota-3d[data-estado="hablando"] .am3d-figura { animation: am3d-habla 1.8s ease-in-out infinite; }
.astro-mascota-3d[data-estado="hablando"] .am3d-halo { opacity: .5; animation: am3d-halo 1.2s ease-in-out infinite; }
.astro-mascota-3d[data-estado="cotizando"] .am3d-holo { opacity: 1; }
.astro-mascota-3d[data-estado="cotizando"] .am3d-holo i { animation: am3d-gira 6s linear infinite; }
.astro-mascota-3d[data-estado="cotizando"] .am3d-holo i:nth-child(2) { animation-direction: reverse; animation-duration: 4s; }
.astro-mascota-3d[data-estado="cotizando"] .am3d-tag { animation: am-holo-tag 1.8s ease-in-out infinite; }
.astro-mascota-3d[data-estado="cotizando"] .am3d-tag2 { animation-delay: .9s; }
.astro-mascota-3d[data-estado="cotizando"] .am3d-halo { opacity: 1; animation: am3d-halo 1.2s ease-in-out infinite; }
.astro-mascota-3d[data-estado="cotizando"] .am3d-particula { animation-duration: 1.6s; background: #ffd23f; box-shadow: 0 0 8px rgba(255, 210, 63, .8); }
.astro-mascota-3d[data-estado="cotizando"] .am3d-figura { animation: am3d-piensa 1.6s ease-in-out infinite; }
@keyframes am3d-halo { 0%, 100% { transform: scale(.94); opacity: .5; } 50% { transform: scale(1.05); opacity: 1; } }
@keyframes am3d-piensa { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(-1deg) translateY(-3px); } }
@keyframes am3d-habla { 0%, 100% { transform: rotate(-1deg); } 50% { transform: rotate(1.5deg) translateY(-3px); } }
@keyframes am3d-gira { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* El acompañante flotante: Astro pequeño que viaja con el cliente */
.astro-launcher { padding: 0 22px 0 10px; min-height: 64px; gap: 10px; overflow: visible; }
.astro-launcher .astro-companero { width: 74px; height: 64px; background: transparent; overflow: visible; border-radius: 0; display: block; }
.astro-launcher .astro-companero .am3d { position: absolute; left: -6px; bottom: -4px; width: 86px; }
.astro-launcher .astro-companero .am3d-img { filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .35)); }
.astro-launcher .astro-companero .am3d-flota { animation: am-flotar-corto 3.2s ease-in-out infinite; }
.astro-launcher .astro-companero .am3d-halo { inset: 0 10% 10%; }
.astro-launcher .astro-dot { left: 66px; top: 4px; }
.astro-launcher:hover .am3d-figura { transform: rotate(-6deg) scale(1.06); }
.astro-launcher .astro-companero .am3d-particulas { display: none; }
.astro-companero-burbuja {
  position: fixed; right: 16px; bottom: 100px; z-index: 59; max-width: 250px; padding: 10px 14px;
  background: #fff; color: var(--ink); border: 2px solid var(--ink); border-radius: 16px 16px 4px 16px;
  box-shadow: 4px 4px 0 var(--violet); font: 600 .9rem/1.35 var(--text); cursor: pointer;
  animation: astro-entrar .3s ease both;
}
.astro-companero-burbuja[hidden] { display: none; }
html.astro-open .astro-companero-burbuja { display: none; }
@media (max-width: 420px) { .astro-launcher { padding: 0 6px; } .astro-companero-burbuja { max-width: 210px; } }

/* El avatar de la cabecera del chat con el 3D */
.astro-head .astro-avatar.astro-mascota-3d { background: transparent; overflow: visible; width: 50px; height: 50px; }
.astro-avatar.astro-mascota-3d .am3d-img { width: 118%; margin: -8% -9% 0; max-width: none; }
.astro-avatar.astro-mascota-3d .am3d-cara { left: calc(var(--vx) * 1.18 - 9%); width: calc(var(--vw) * 1.18); top: calc(var(--vy) * 1.18 - 8%); height: calc(var(--vh) * 1.18); }
@media (max-width: 559px) {
  .orbit-astro { inset: 0 10% 0 4%; }
  .astro-escena .orbit-astro { inset: auto; }
}

/* Poses del Astro 3D: dos capas de imagen con fundido; la cara se recoloca suave */
.am3d-figura { position: relative; transform-origin: 50% 55%; }
.am3d-img-2 { position: absolute; inset: 0; }
.astro-mascota-3d[data-pose] .am3d-img { opacity: 0; transition: opacity .35s ease; }
.astro-mascota-3d[data-pose] .am3d-img.activa { opacity: 1; }
.astro-mascota-3d[data-pose] .am3d-cara { transition: left .35s ease, top .35s ease, width .35s ease, height .35s ease, transform .35s ease; }
