/* ===== Dr. Palabras: expresiones ===== */
.doctor { display: block; overflow: visible; }
.doctor .ceja { transform-box: fill-box; transform-origin: center; transition: transform .25s ease; }
.doctor .boca, .doctor .ojos-felices { display: none; }
.doctor .ojos-abiertos { transform-box: fill-box; transform-origin: center; transition: transform .2s; }
.doctor .pupilas { transition: transform .25s; }

.doctor[data-expr="alegre"] .b-sonrisa,
.doctor[data-expr="sorprendido"] .b-o,
.doctor[data-expr="confundido"] .b-ondulada,
.doctor[data-expr="pensativo"] .b-lateral,
.doctor[data-expr="entusiasmado"] .b-grande,
.doctor[data-expr="celebrando"] .b-grande,
.doctor[data-expr="preocupado"] .b-preocupada { display: inline; }

.doctor[data-expr="entusiasmado"] .ojos-abiertos,
.doctor[data-expr="celebrando"] .ojos-abiertos { display: none; }
.doctor[data-expr="entusiasmado"] .ojos-felices,
.doctor[data-expr="celebrando"] .ojos-felices { display: inline; }

.doctor[data-expr="sorprendido"] .ceja,
.doctor[data-expr="entusiasmado"] .ceja,
.doctor[data-expr="celebrando"] .ceja { transform: translateY(-9px); }
.doctor[data-expr="sorprendido"] .ojos-abiertos { transform: scale(1.12); }
.doctor[data-expr="confundido"] .ceja-i { transform: translateY(-8px) rotate(-10deg); }
.doctor[data-expr="confundido"] .ceja-d { transform: translateY(2px) rotate(-8deg); }
.doctor[data-expr="pensativo"] .ceja-i { transform: translateY(-6px) rotate(-6deg); }
.doctor[data-expr="pensativo"] .pupilas { transform: translate(4px, -5px); }
.doctor[data-expr="preocupado"] .ceja-i { transform: rotate(14deg) translateY(-2px); }
.doctor[data-expr="preocupado"] .ceja-d { transform: rotate(-14deg) translateY(-2px); }

.doctor[data-expr="celebrando"] { animation: dr-salto .55s ease-in-out 2; }
.doctor[data-expr="confundido"] { animation: dr-ladeo .6s ease-in-out; }
@keyframes dr-salto { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px) rotate(-2deg); } }
@keyframes dr-ladeo { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-4deg); } }

/* Parpadeo y respiración suaves */
.doctor .ojos-abiertos { animation: parpadeo 5.5s infinite; }
@keyframes parpadeo { 0%, 95%, 100% { transform: scaleY(1); } 97% { transform: scaleY(.1); } }
.doctor[data-expr="sorprendido"] .ojos-abiertos { animation: none; }

/* ===== Burbujas, el loro ===== */
.loro { display: block; overflow: visible; }
.loro .acc { display: none; }
.loro[data-acc="acc-gafas"] .acc-gafas,
.loro[data-acc="acc-pajarita"] .acc-pajarita,
.loro[data-acc="acc-gorro"] .acc-gorro,
.loro[data-acc="acc-capa"] .acc-capa { display: inline; }
.loro[data-acc="acc-gorro"] .lo-cresta { display: none; }

.loro .lo-ojos-felices { display: none; }
.loro[data-estado="feliz"] .lo-ojos-abiertos { display: none; }
.loro[data-estado="feliz"] .lo-ojos-felices { display: inline; }

.loro .lo-cabeza, .loro .lo-ala, .loro .lo-pico-inf, .loro .lo-cresta { transform-box: fill-box; transition: transform .3s ease; }
.loro .lo-cabeza { transform-origin: 50% 90%; }
.loro .lo-ala-i { transform-origin: 90% 10%; }
.loro .lo-ala-d { transform-origin: 10% 10%; }
.loro .lo-pico-inf { transform-origin: 50% 0%; }
.loro .lo-cresta { transform-origin: 50% 100%; }

.loro { animation: loro-respira 3.2s ease-in-out infinite; transform-origin: 50% 100%; }
@keyframes loro-respira { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(1.02); } }

.loro[data-estado="feliz"] .lo-ala-i { animation: aleteo-i .22s ease-in-out 6 alternate; }
.loro[data-estado="feliz"] .lo-ala-d { animation: aleteo-d .22s ease-in-out 6 alternate; }
@keyframes aleteo-i { from { transform: rotate(0); } to { transform: rotate(38deg); } }
@keyframes aleteo-d { from { transform: rotate(0); } to { transform: rotate(-38deg); } }
.loro[data-estado="feliz"] { animation: loro-bote .35s ease-in-out 4; }
@keyframes loro-bote { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

.loro[data-estado="confuso"] .lo-cabeza { transform: rotate(-16deg); }
.loro[data-estado="sorprendido"] .lo-cresta { transform: scaleY(1.35); }
.loro[data-estado="sorprendido"] .lo-pupilas { transform: scale(.8); transform-box: fill-box; transform-origin: center; }
.loro[data-estado="hambre"] .lo-pico-inf,
.loro[data-estado="comiendo"] .lo-pico-inf { animation: masticar .16s ease-in-out infinite alternate; }
@keyframes masticar { from { transform: rotate(0); } to { transform: translateY(6px) scaleY(1.3); } }
.loro[data-estado="hambre"] .lo-pico-inf { animation-duration: .5s; }

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