/* Rodada 13: convite para pôr o app Wash Go na tela inicial (pwa.js) e botão "App Wash Go" do topo da Portlink.
   Janela que sobe de baixo, na largura da coluna de celular (até 430 px). Azul #0062E0, Montserrat. */
.ac{position:fixed;inset:0;z-index:2100;display:flex;align-items:flex-end;justify-content:center;font-family:Montserrat,Arial,sans-serif;color:#14181D}
.ac[hidden]{display:none}
.ac-back{position:absolute;inset:0;background:rgba(8,18,38,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s ease}
.ac-card{position:relative;width:min(100%,430px);max-height:92vh;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:28px 28px 0 0;padding:26px 20px max(18px,env(safe-area-inset-bottom));text-align:center;box-shadow:0 -18px 50px -20px rgba(0,30,90,.5);translate:0 100%;transition:translate .42s cubic-bezier(.2,.9,.25,1)}
.ac.on .ac-back{opacity:1}
.ac.on .ac-card{translate:0 0}
html.ac-trava{overflow:hidden}
.ac-x{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:#F1F4F7;color:#14181D;display:grid;place-items:center;cursor:pointer}
.ac-x svg{width:17px;height:17px}
.ac-logo{display:block;width:64px;height:64px;border-radius:18px;margin:2px auto 14px;box-shadow:0 12px 26px -14px rgba(0,98,224,.8)}
.ac-h{margin:0 0 8px;font-size:21px;line-height:1.15;font-weight:900;letter-spacing:-.02em}
.ac[data-tipo="agilizar"] .ac-h{text-transform:uppercase;font-size:19px;letter-spacing:.01em;color:#0062E0}
.ac-p{margin:0 auto;max-width:360px;font-size:14px;line-height:1.55;color:#4A525C}
.ac-corpo{margin-top:16px}
.ac-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;border:0;border-radius:99px;background:#0062E0;color:#fff;font:800 15.5px/1.2 Montserrat,Arial,sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 14px 28px -14px rgba(0,98,224,.95);padding:0 20px}
.ac-btn:active{scale:.98}
.ac-mini{margin:10px auto 0;max-width:340px;font-size:12px;line-height:1.5;color:#6B7480}
.ac-link{display:inline-block;margin-top:12px;padding:6px;color:#0062E0;font-size:13px;font-weight:700;text-decoration:none}
.ac-agora{display:block;margin:10px auto 0;border:0;background:none;padding:10px 14px;color:#6B7480;font:700 13.5px/1.2 Montserrat,Arial,sans-serif;cursor:pointer}
.ac-passos{list-style:none;margin:0;padding:0;display:grid;gap:8px;text-align:left}
.ac-passos li{display:grid;grid-template-columns:26px 38px minmax(0,1fr);align-items:center;gap:10px;background:#F4F6F8;border-radius:16px;padding:11px 12px}
.ac-n{width:26px;height:26px;border-radius:50%;background:#101010;color:#fff;font-weight:800;font-size:12.5px;display:grid;place-items:center}
.ac-ic{width:38px;height:38px;border-radius:12px;background:#fff;color:#0062E0;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #DCE6F5}
.ac-ic svg{width:21px;height:21px}
.ac-passos p{margin:0;font-size:13px;line-height:1.45;color:#4A525C}
.ac-passos b{color:#14181D}
.ac-aviso{margin:0 0 10px;font-size:13px;line-height:1.5;color:#4A525C;text-align:left}
.ac-aviso-ok{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;background:#E8F8EE;color:#14532D}
.ac-aviso-ok svg{flex:none;width:22px;height:22px;color:#16893F}
.ac-x:focus-visible,.ac-btn:focus-visible,.ac-link:focus-visible,.ac-agora:focus-visible{outline:3px solid #8FC1FF;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.ac-card,.ac-back{transition:none}}

/* botão "App Wash Go / para agilizar a sua entrada" no topo da Portlink:
   mesma pílula branca do "Guia de primeira visita", logo abaixo dele, em duas linhas */
.hb-learn.wpt-app{margin-top:8px!important;font-family:inherit;cursor:pointer;text-align:left;line-height:1.1!important;padding-top:7px!important;padding-bottom:7px!important}
.hb-learn.wpt-app .hb-learn-ic{background:#0062E0!important;color:#fff!important;overflow:hidden}
.hb-learn.wpt-app .hb-learn-ic img{width:100%;height:100%;object-fit:cover;display:block}
.wpt-app-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.wpt-app-t b{font-size:14.5px;font-weight:800;letter-spacing:-.01em}
.wpt-app-t small{font-size:11px;font-weight:600;opacity:.7;white-space:nowrap}
.hb-learn.wpt-app:focus-visible{outline:3px solid #8FC1FF;outline-offset:2px}
@media (max-width:349px){.wpt-app-t b{font-size:12.5px}.wpt-app-t small{font-size:10px}}

/* rodada 15: caminho para os dois sistemas, em abas Android | iPhone */
.ac-abas{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:14px;border-radius:16px;background:#EEF2F7}
.ac-abas button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:0;border-radius:12px;background:transparent;color:#4A525C;font:800 14px/1 Montserrat,Arial,sans-serif;cursor:pointer}
.ac-abas button svg{width:19px;height:19px}
.ac-abas button[aria-selected="true"]{background:#fff;color:#14181D;box-shadow:0 4px 12px -8px rgba(0,30,80,.5)}
.ac-abas button[aria-selected="true"] svg{color:#0062E0}
.ac-abas button:focus-visible{outline:3px solid #8FC1FF;outline-offset:2px}
.ac-painel[hidden]{display:none}
.ac-painel{text-align:left}
.ac-painel > .ac-btn + .ac-mini{text-align:center}
.ac-sub{margin:14px 0 8px;font-size:12.5px;font-weight:700;color:#4A525C}
.ac-inline{color:#0062E0;font-weight:800}
.ac-depois{margin-top:14px}
button.ac-link{display:block;margin:10px auto 0;border:0;background:none;font-family:inherit;cursor:pointer}
.ac-aviso b{color:#14181D}

/* rodada 17: o botão "App Wash Go" fica logo abaixo do "Máquinas disponíveis".
   - Fica fora do bloco de ações (as regras dele pintam tudo de azul) e solto do bloco do topo
     (position:absolute), porque esse bloco tem altura fixa e se espremia, jogando "Máquinas" sobre o preço.
   - O design faz toda imagem dentro da foto do topo cobrir a foto inteira: o ícone do botão é travado.
   - O cartão azul "Lave suas roupas" sobe por cima da foto (margem de -343 px, com zoom .82);
     desce 84 px de design (~69 px na tela) para abrir o espaço do botão.
   - O design dá 22 px de margem ao último bloco do topo ("div:last-child"); com o botão depois dele, a margem vai direto no bloco de ações. */
.hb-visual .hb-ov > .hb-ov-act{margin-top:22px!important;width:100%}
#topo .hb-ov > .hb-learn.wpt-app{position:absolute;left:8px;top:calc(100% + 12px);display:inline-flex;width:auto;max-width:calc(100% - 16px);height:48px;margin:0!important;padding:0 16px 0 7px}
#topo .hb-ov > .hb-learn.wpt-app .hb-learn-ic{position:relative;overflow:hidden;flex:none}
#topo .hb-ov > .hb-learn.wpt-app .hb-learn-ic img{position:static!important;inset:auto!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;opacity:1!important;transform:none!important;filter:none!important;border-radius:0!important}
#topo .hb-below > .hb-banners:first-child{margin-top:calc(-343px + 84px)!important}

/* rodada 18: janela do Wi-Fi (wifi.js) — usa o mesmo visual do convite do app */
.wf .wf-ic{width:64px;height:64px;border-radius:18px;background:#EAF2FF;color:#0062E0;display:grid;place-items:center;margin:2px auto 14px}
.wf .wf-ic svg{width:34px;height:34px}
.wf-corpo .ac-btn{margin-top:16px}
.wf-corpo .ac-passos{margin-top:12px}
.wf-spin{display:block;width:40px;height:40px;margin:14px auto 10px;border-radius:50%;border:4px solid #DCE6F5;border-top-color:#0062E0;animation:wf-gira .8s linear infinite}
@keyframes wf-gira{to{rotate:360deg}}
@media (prefers-reduced-motion:reduce){.wf-spin{animation-duration:2.4s}}
