/* Ruta animada de recomendaciones: paso 1, 2, 3… hasta el baúl del tesoro */
.rr-route{position:relative;display:flex;flex-direction:column;gap:6px!important}
.rr-route>.rr-line{position:absolute;left:var(--rx,24px);top:var(--rt,0);height:var(--rh,0);width:4px;margin-left:-2px;border-radius:4px;background:linear-gradient(180deg,#f5b921 0,#f5b921 var(--rb,100%),#a493ff var(--rb,100%),#a493ff 100%);transform-origin:top;transform:scaleY(0);opacity:.85;pointer-events:none;z-index:0}
.rr-route>.rr-line::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(15,13,34,.55) 8px 12px)}
.rr-route.go>.rr-line{transition:transform var(--rd,2s) linear;transform:scaleY(1)}
.rr-route>.lv,.rr-route>.rs{position:relative;z-index:1;background:none!important;border:0!important;box-shadow:none!important;padding:10px 0!important;grid-template-columns:48px minmax(0,1fr)!important;gap:16px!important;opacity:0;transform:translateY(14px)}
.rr-route>.rs::after{display:none!important}
.rr-route.go>.lv,.rr-route.go>.rs{animation:rrPop .6s cubic-bezier(.22,1,.36,1) var(--d,0s) both}
@keyframes rrPop{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rr-route>.lv>.n,.rr-route>.rs>.k{width:48px!important;height:48px!important;border-radius:50%!important;background:#f5b921!important;color:#1a1400!important;font-family:var(--f-display);font-size:19px;display:grid;place-items:center;box-shadow:0 0 0 5px rgba(245,185,33,.16),0 0 22px rgba(245,185,33,.35)}
.rr-route.go>.lv>.n,.rr-route.go>.rs>.k{animation:rrNode .7s cubic-bezier(.34,1.56,.64,1) var(--d,0s) both}
@keyframes rrNode{0%{transform:scale(.2)}100%{transform:scale(1)}}
.rr-paso{display:inline-block;font-family:var(--f-cond);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(245,185,33,.16);color:#f5b921;margin-bottom:4px}
.rr-route>.lv .tg,.rr-route>.rs small{display:block}
.rr-route>.lv h3,.rr-route>.rs h4{margin-top:2px}
.rr-route>.lvhead,.rr-route>.rs-next{position:relative;z-index:1;padding:8px 0 2px 64px!important;margin:0!important}
/* lo próximo: otro color */
.rr-route>.rr-nxh{color:#a493ff!important}
.rr-route>.rr-nx>.n,.rr-route>.rr-nx>.k{background:#a493ff!important;color:#140f33!important;box-shadow:0 0 0 5px rgba(164,147,255,.16),0 0 22px rgba(164,147,255,.4)!important}
.rr-route>.rr-nx .rr-paso{background:rgba(164,147,255,.16);color:#a493ff}
.rr-route>.rr-nx .tg,.rr-route>.rr-nx small{color:#a493ff!important}
/* recuadro del baúl del tesoro debajo de la ruta */
.rr-tbox{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;margin-top:18px;padding:16px 18px;border-radius:20px;border:1.5px solid rgba(245,185,33,.7);background:radial-gradient(240px 140px at 0 50%,rgba(245,185,33,.22),transparent 70%),linear-gradient(160deg,#2b2160,#1a1640);box-shadow:0 0 0 4px rgba(245,185,33,.08),0 14px 40px rgba(0,0,0,.35);opacity:0;transform:translateY(14px)}
.rr-tbox.link{cursor:pointer}
.rr-tbox.in{animation:rrPop .7s cubic-bezier(.22,1,.36,1) both}
.rr-tbox .cb{position:relative;width:64px;height:64px;display:grid;place-items:center}
.rr-tbox .cb::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,rgba(245,185,33,.5),transparent 68%);animation:rrGlow 1.8s ease-in-out infinite}
.rr-tbox svg{position:relative;width:58px;height:58px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));animation:rrBob 2.6s ease-in-out infinite}
@keyframes rrBob{50%{transform:translateY(-4px)}}
@keyframes rrGlow{50%{opacity:.45;transform:scale(1.12)}}
.rr-tbox .sp{position:absolute;width:8px;height:8px;background:#ffe08a;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:0;animation:rrTw 1.6s ease-in-out infinite}
.rr-tbox .sp:nth-of-type(1){top:-2px;left:6px;animation-delay:.2s}.rr-tbox .sp:nth-of-type(2){top:6px;right:-2px;animation-delay:.8s}.rr-tbox .sp:nth-of-type(3){bottom:4px;left:-4px;animation-delay:1.3s}
@keyframes rrTw{0%,100%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.1)}}
.rr-tbox b{display:block;font-family:var(--f-display);text-transform:uppercase;font-size:16px;line-height:1.15;color:#f5b921}
.rr-tbox span{display:block;font-size:14px;color:var(--muted,#aaa4cf);line-height:1.4;margin-top:4px}
@media (prefers-reduced-motion:reduce){.rr-tbox{opacity:1!important;transform:none!important}.rr-route>*{opacity:1!important;transform:none!important;animation:none!important}.rr-route>.rr-line{transform:none!important}}
