/* Rota das 6 fases: mesmo desenho da jornada do portal de clientes (clientes.efezone.com). */
.rt{--rt-ink:#1d1d1f;--rt-ink2:#424245;--rt-mute:#6e6e73;--rt-gold:#e6ba38;--rt-gold-ink:#8a6810;--rt-gold-soft:#fbf3dc;--rt-ok:#1f9d55;
  --rt-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 24px rgba(0,0,0,.05)}
.rt-route{position:relative;padding:34px 24px 24px;border-radius:22px;box-shadow:var(--rt-shadow);overflow:hidden;background:linear-gradient(180deg,#eef4fb 0%,#fff 72%)}
.rt-cloud{position:absolute;height:14px;border-radius:999px;background:#fff;opacity:.95}
.rt-cloud::before,.rt-cloud::after{content:"";position:absolute;bottom:4px;border-radius:50%;background:#fff}
.rt-cloud::before{left:12px;width:22px;height:22px}
.rt-cloud::after{left:28px;width:16px;height:16px}
.rt-cloud.c1{top:12px;left:8%;width:62px;animation:rt-drift 38s linear infinite}
.rt-cloud.c2{top:38px;left:60%;width:48px;animation:rt-drift 52s linear infinite reverse}
@keyframes rt-drift{from{transform:translateX(-40px)}to{transform:translateX(40px)}}
.rt-stops{position:relative;display:grid;grid-template-columns:repeat(6,1fr);list-style:none;margin:0;padding:0}
.rt-stops li{display:contents}
.rt-line{position:absolute;left:calc(100% / 12);right:calc(100% / 12);top:27px;border-top:2px dashed #c9d3df}
.rt-done{position:absolute;left:calc(100% / 12);top:26px;height:4px;width:0;border-radius:4px;background:var(--rt-gold);transition:width 1.4s cubic-bezier(.3,.7,.2,1),height 1.4s cubic-bezier(.3,.7,.2,1)}
.rt-stop{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;border:0;background:none;padding:0 4px;cursor:pointer;color:inherit;font:inherit}
.rt-wp{position:relative;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #d5dce5;transition:background .4s,border-color .4s,transform .2s;z-index:1}
.rt-stop:hover .rt-wp{transform:translateY(-2px)}
.rt-wp>svg{width:26px;height:26px;stroke:#8e8e93;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rt-stop.done .rt-wp{background:var(--rt-gold);border-color:var(--rt-gold)}
.rt-stop.done .rt-wp>svg{stroke:#3a2d06}
.rt-stop.now .rt-wp{background:var(--rt-ink);border-color:var(--rt-ink)}
.rt-stop.now .rt-wp>svg{stroke:#fff}
.rt-stop.now .rt-wp::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--rt-gold);animation:rt-ping 2s ease-out infinite}
@keyframes rt-ping{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.25);opacity:0}}
.rt-ok{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%;background:var(--rt-ok);border:2px solid #fff;display:none;place-items:center}
.rt-stop.done .rt-ok{display:grid}
.rt-ok svg{width:11px;height:11px;stroke:#fff;stroke-width:3}
.rt-txt{display:flex;flex-direction:column;align-items:center;gap:1px}
.rt-txt b{font-size:14px;font-weight:600;color:var(--rt-ink)}
.rt-code{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9aa5b1}
.rt-plane{position:absolute;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;z-index:3;pointer-events:none;transition:transform 1.4s cubic-bezier(.3,.7,.2,1)}
.rt-body{width:100%;height:100%;animation:rt-bob 2.4s ease-in-out infinite}
.rt-plane svg{width:100%;height:100%;fill:var(--rt-ink);filter:drop-shadow(0 4px 6px rgba(0,0,0,.18))}
@keyframes rt-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.rt-detail{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-top:12px;padding:18px 22px;border-radius:22px;background:#fff;box-shadow:var(--rt-shadow)}
.rt-detail.rt-troca>*{animation:rt-in .45s cubic-bezier(.2,.8,.2,1)}
@keyframes rt-in{from{opacity:0;transform:translateY(5px)}}
.rt-big{width:56px;height:56px;border-radius:16px;background:var(--rt-gold-soft);display:grid;place-items:center}
.rt-big svg{width:30px;height:30px;stroke:var(--rt-gold-ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rt-n{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--rt-gold-ink)}
.rt-detail h3{margin:2px 0 0;font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--rt-ink)}
.rt-detail p{margin:4px 0 0;color:var(--rt-ink2);font-size:14.5px;line-height:1.45}
.rt-prova{text-align:right;min-width:150px}
.rt-prova span{display:block;font-size:12px;color:var(--rt-mute)}
.rt-prova b{display:block;font-size:15px;font-weight:600;color:var(--rt-ink);margin-top:2px}

/* ícones animados (iguais aos do portal) */
.rt .ic-check{stroke-dasharray:12;stroke-dashoffset:12;animation:rt-draw 2.6s ease-in-out infinite}
@keyframes rt-draw{0%,15%{stroke-dashoffset:12}45%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:12}}
.rt .ic-lupa{transform-origin:11px 11px;animation:rt-search 3s ease-in-out infinite}
@keyframes rt-search{0%,100%{transform:translate(0,0)}25%{transform:translate(1.5px,-1px)}50%{transform:translate(0,1.5px)}75%{transform:translate(-1.5px,-.5px)}}
.rt .ic-bloco{animation:rt-drop 2.8s ease-in-out infinite}
@keyframes rt-drop{0%,20%{transform:translateY(-5px);opacity:0}45%,85%{transform:translateY(0);opacity:1}100%{opacity:0}}
.rt .ic-onda1{animation:rt-wave 1.8s ease-in-out infinite}
.rt .ic-onda2{animation:rt-wave 1.8s ease-in-out .3s infinite}
@keyframes rt-wave{0%,100%{opacity:.25}50%{opacity:1}}
.rt .ic-barra{transform-box:fill-box;transform-origin:bottom;animation:rt-grow 2.4s ease-in-out infinite}
.rt .ic-barra.b2{animation-delay:.15s}.rt .ic-barra.b3{animation-delay:.3s}.rt .ic-barra.b4{animation-delay:.45s}
@keyframes rt-grow{0%,10%{transform:scaleY(.3)}50%,90%{transform:scaleY(1)}100%{transform:scaleY(.3)}}
.rt .ic-flag{transform-box:fill-box;transform-origin:left center;animation:rt-flag 1.6s ease-in-out infinite}
@keyframes rt-flag{0%,100%{transform:skewY(0)}50%{transform:skewY(-6deg) scaleX(.94)}}

/* rota estreita (celular, janelas): em pé */
.rt-v .rt-route{padding:48px 18px 22px}
.rt-v .rt-stops{grid-template-columns:1fr;gap:26px}
.rt-v .rt-line{left:27px;right:auto;top:28px;bottom:28px;border-top:0;border-left:2px dashed #c9d3df}
.rt-v .rt-done{left:26px;top:28px;width:4px}
.rt-v .rt-stop{flex-direction:row;text-align:left;gap:14px;padding:0}
.rt-v .rt-txt{align-items:flex-start}
.rt-v .rt-detail{grid-template-columns:auto 1fr;padding:16px 18px}
.rt-v .rt-prova{grid-column:1/-1;text-align:left;min-width:0;padding-top:12px;border-top:1px solid #ececf0}
@media (prefers-reduced-motion:reduce){.rt-plane,.rt-done{transition:none}.rt *{animation:none!important}}
