/* SITE v2 — blocos novos (Torre de Controle, Ravi, Rodavia 360), no mesmo visual do site da RF */
.rfx{--ouro:#F2C627;--preto:#1B1B1B;--cinza:#F5F5F5;font-family:"Montserrat",Sans-serif;color:var(--preto);font-size:16px;line-height:1.35}
.rfx *{box-sizing:border-box}
.rfx .rfx-wrap{max-width:1188px;margin:0 auto;padding:0 20px}
.rfx h2{font-family:"Montserrat",Sans-serif;font-size:40px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1em;margin:0 0 18px;color:var(--preto)}
.rfx h3{font-family:"Montserrat",Sans-serif;font-size:18px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1.05em;margin:0 0 8px}
.rfx p{margin:0 0 14px}
.rfx .ouro{color:var(--ouro)}
.rfx .olho{display:inline-block;font-style:italic;text-transform:uppercase;letter-spacing:4px;font-size:14px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid currentColor;min-width:240px}
.rfx .botao{display:inline-flex;align-items:center;gap:8px;background:var(--ouro);color:var(--preto)!important;font-weight:700;text-transform:uppercase;font-size:15px;padding:12px 22px;border-radius:50px;text-decoration:none;transition:transform .2s}
.rfx .botao:hover{transform:scale(.96)}
.rfx .botao svg{width:16px;height:16px;fill:currentColor}

/* Torre */
.rfx-torre{padding:90px 0 70px;background:#fff}
.rfx-torre .rfx-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.rfx-itens{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin:22px 0 26px}
.rfx-item{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.rfx-item svg{flex:0 0 24px;width:24px;height:24px;stroke:var(--ouro);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rfx-item b{display:block;font-size:15px}
.rfx-painel{background:var(--preto);border-radius:30px;padding:22px;color:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.5);position:relative}
.rfx-painel .bar{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-style:italic;text-transform:uppercase;font-size:14px;letter-spacing:1px;margin-bottom:16px}
.rfx-painel .vivo{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ouro);letter-spacing:2px}
.rfx-painel .vivo:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ouro);animation:rfxpisca 1.4s infinite}
@keyframes rfxpisca{50%{opacity:.25}}
.rfx-painel .corpo{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}
.rfx-painel .mapa{background:#262626;border-radius:18px;min-height:220px;overflow:hidden}
.rfx-painel .mapa svg{width:100%;height:100%;display:block}
.rfx-painel .vei{display:flex;justify-content:space-between;align-items:center;background:#262626;border-radius:14px;padding:10px 12px;margin-bottom:8px;font-size:13px}
.rfx-painel .vei small{display:block;color:#aaa;font-size:11px}
.rfx-painel .st{font-size:10px;font-weight:700;padding:4px 8px;border-radius:20px;letter-spacing:.5px}
.rfx-painel .st.rota{background:var(--ouro);color:var(--preto)}
.rfx-painel .st.ent{background:#fff;color:var(--preto)}
.rfx-painel .st.base{background:#444;color:#fff}
.rfx-painel .rod{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;text-align:center}
.rfx-painel .rod b{display:block;color:var(--ouro);font-size:22px;font-style:italic}
.rfx-painel .rod small{font-size:11px;color:#bbb}

/* Ravi */
.rfx-ravi{padding:20px 0 70px;background:#fff}
.rfx-ravi .caixa{background:var(--preto);border-radius:30px;color:#fff;padding:50px 50px 50px 30px;display:grid;grid-template-columns:330px 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.rfx-ravi .caixa:after{content:"";position:absolute;right:-80px;bottom:-80px;width:260px;height:260px;background:radial-gradient(circle,rgba(242,198,39,.35),transparent 70%)}
.rfx-ravi h2{color:#fff}
.rfx-ravi .olho{color:var(--ouro)}
.rfx-ravi img{width:100%;max-width:330px;display:block;margin:0 auto;filter:drop-shadow(0 20px 30px rgba(242,198,39,.25))}
.rfx-check{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.rfx-check li{position:relative;padding-left:28px;font-size:14px}
.rfx-check li:before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:var(--ouro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l5 5 9-10' stroke='%231B1B1B' stroke-width='3' fill='none'/%3E%3C/svg%3E") center/12px no-repeat}
.rfx-chat{display:flex;flex-direction:column;gap:8px;max-width:520px;position:relative;z-index:1}
.rfx-chat .b{padding:10px 14px;border-radius:16px;font-size:13px;max-width:85%}
.rfx-chat .c{background:#333;align-self:flex-start;border-bottom-left-radius:4px}
.rfx-chat .r{background:var(--ouro);color:var(--preto);align-self:flex-end;border-bottom-right-radius:4px}
.rfx-chat .q{font-size:10px;opacity:.7;margin-bottom:2px;text-transform:uppercase;letter-spacing:1px;font-weight:700}

/* Rodavia 360 */
.rfx-eco{padding:30px 0 90px;background:#fff;text-align:center}
.rfx-eco .topo{max-width:780px;margin:0 auto 34px}
.rfx-eco .selo{display:inline-flex;align-items:baseline;gap:6px;background:var(--preto);color:#fff;border-radius:50px;padding:10px 24px;font-weight:800;font-style:italic;font-size:22px;letter-spacing:1px;margin-bottom:22px}
.rfx-eco .selo span{color:var(--ouro)}
.rfx-mods{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}
.rfx-mod{background:var(--cinza);border-radius:30px;padding:28px}
.rfx-mod svg{width:32px;height:32px;stroke:var(--ouro);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}
.rfx-mod p{font-size:14px;margin:0}
.rfx-eco .frase{margin:30px auto 0;max-width:700px;font-size:17px}

/* Cobertura: selo de todas as cidades */
.rfx-cobertura{display:flex;gap:12px;align-items:center;background:#1B1B1B;color:#fff;border-radius:20px;padding:14px 18px;margin:6px 0 4px;font-family:"Montserrat",Sans-serif;font-size:14px;line-height:1.3}
.rfx-cobertura svg{flex:0 0 28px;width:28px;height:28px;fill:#F2C627}
.rfx-cobertura b{color:#F2C627}

/* selo de versão */
.rfx-selo-versao{font-family:"Montserrat",Sans-serif;font-size:11px;color:#888;text-align:center;padding:6px 0 10px;background:#1B1B1B}

@media (max-width:1024px){
 .rfx h2{font-size:30px}
 .rfx-torre .rfx-grid,.rfx-ravi .caixa{grid-template-columns:1fr}
 .rfx-ravi .caixa{padding:36px 26px}
 .rfx-mods{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
 .rfx h2{font-size:24px}
 .rfx-torre{padding:60px 0 40px}
 .rfx-itens,.rfx-check,.rfx-mods{grid-template-columns:1fr}
 .rfx-painel .corpo{grid-template-columns:1fr}
 .rfx-painel .mapa{min-height:170px}
 .rfx-ravi img{max-width:220px}
}

/* v2b: tela real da Torre, hub do Rodavia 360 */
.rfx-torre .rfx-grid{align-items:start}
.rfx-torre .rfx-itens{margin-top:46px}
.rfx-tela{margin:44px 0 0;background:#000;border-radius:30px;padding:14px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.rfx-tela img{display:block;width:100%;height:auto;border-radius:20px}
.rfx-tela figcaption{color:#ddd;font-size:14px;padding:14px 8px 4px;display:flex;gap:12px;align-items:center}
.rfx-tela .vivo{display:inline-flex;align-items:center;gap:6px;color:#F2C627;font-weight:700;font-style:italic;letter-spacing:2px;font-size:12px;white-space:nowrap}
.rfx-tela .vivo:before{content:"";width:8px;height:8px;border-radius:50%;background:#F2C627;animation:rfxpisca 1.4s infinite}
.rfx-ravi img{max-width:340px;border-radius:24px;filter:none}
.rfx-hub{position:relative;display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:40px;align-items:center;margin-top:10px}
.rfx-hub .col{display:grid;grid-template-rows:repeat(3,1fr);gap:22px;position:relative;z-index:2}
.rfx-hub .rfx-mod{display:flex;gap:14px;align-items:flex-start;padding:22px;border:1px solid #eee;background:#F5F5F5;transition:transform .2s,box-shadow .2s}
.rfx-hub .rfx-mod:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(0,0,0,.35)}
.rfx-hub .rfx-mod svg{flex:0 0 40px;width:40px;height:40px;padding:8px;margin:0;background:#1B1B1B;border-radius:50%}
.rfx-linhas{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.rfx-linhas path{stroke:#F2C627;stroke-width:2.5;fill:none;stroke-dasharray:8 8;vector-effect:non-scaling-stroke;animation:rfxfluxo 1.2s linear infinite}
@keyframes rfxfluxo{to{stroke-dashoffset:-16}}
.rfx-hub .nucleo{position:relative;z-index:2;background:#000;border-radius:50%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:28px;box-shadow:0 0 0 10px #fff,0 0 0 12px #F2C627,0 30px 70px -20px rgba(242,198,39,.55)}
.rfx-hub .nucleo img{width:100%;height:auto;display:block}
.rfx-hub .anel{position:absolute;inset:-26px;border-radius:50%;border:2px dashed rgba(242,198,39,.6);animation:rfxgira 30s linear infinite}
@keyframes rfxgira{to{transform:rotate(360deg)}}
@media (max-width:1024px){
 .rfx-hub{grid-template-columns:1fr;gap:26px}
 .rfx-linhas{display:none}
 .rfx-hub .nucleo{order:-1;max-width:340px;margin:20px auto}
 .rfx-hub .col{grid-template-rows:none}
 .rfx-torre .rfx-itens{margin-top:10px}
}
@media (max-width:767px){.rfx-tela{padding:8px;border-radius:20px}.rfx-tela img{border-radius:14px}.rfx-tela figcaption{flex-direction:column;align-items:flex-start;gap:4px}}
.rfx-hub{align-items:stretch}
.rfx-hub .nucleo{align-self:center;padding:16px}
.rfx-hub .col{grid-auto-rows:1fr;grid-template-rows:none}
.rfx-hub .rfx-mod{text-align:left;height:100%;align-items:center}
.rfx-hub .rfx-mod h3{margin-bottom:6px}
@media (max-width:1024px){.rfx-hub .nucleo{max-width:300px}.rfx-hub .anel{inset:-14px}.rfx-eco{overflow:hidden}}

/* Portal do cliente + integrações */
.rfx-portal{padding:20px 0 90px;background:#fff}
.rfx-grid2{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.rfx-check2{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.rfx-check2 li{position:relative;padding-left:32px;font-size:15px}
.rfx-check2 li:before{content:"";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:#F2C627 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l5 5 9-10' stroke='%231B1B1B' stroke-width='3' fill='none'/%3E%3C/svg%3E") center/13px no-repeat}
.rfx-docs{background:#1B1B1B;color:#fff;border-radius:30px;padding:32px}
.rfx-docs .tit{font-weight:700;font-style:italic;text-transform:uppercase;font-size:18px;margin-bottom:18px}
.rfx-docs .lista{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rfx-docs .lista span{display:flex;align-items:center;gap:10px;background:#262626;border-radius:14px;padding:11px 14px;font-size:14px}
.rfx-docs .lista span:before{content:"";flex:0 0 16px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2C627' stroke-width='2'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M14 3v5h5'/%3E%3C/svg%3E") center/contain no-repeat}
.rfx-docs .rod{margin-top:16px;font-size:13px;color:#bbb;display:flex;gap:10px;align-items:center}
.rfx-docs .vivo{background:#F2C627;color:#1B1B1B;font-weight:800;border-radius:20px;padding:3px 10px;font-size:12px}
.rfx-integra{margin-top:60px;background:#F5F5F5;border-radius:30px;padding:40px}
.rfx-integra .cab{max-width:760px;margin-bottom:24px}
.rfx-integra h3{font-size:26px}
.rfx-integra .grupos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rfx-integra .g{background:#fff;border-radius:20px;padding:20px}
.rfx-integra .g>b{display:block;font-style:italic;text-transform:uppercase;font-size:14px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid #F2C627}
.rfx-integra .g div{display:flex;flex-wrap:wrap;gap:8px}
.rfx-integra .g span{background:#1B1B1B;color:#fff;border-radius:30px;padding:6px 12px;font-size:12.5px;font-weight:600}
@media (max-width:1024px){.rfx-grid2{grid-template-columns:1fr}.rfx-integra .grupos{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.rfx-docs{padding:22px}.rfx-docs .lista{grid-template-columns:1fr}.rfx-integra{padding:24px}.rfx-integra .grupos{grid-template-columns:1fr}.rfx-integra h3{font-size:20px}}

/* v2.1: texto do bloco "Sua carga precisa de eficiência" não passa por baixo do escudo */
@media (min-width:768px){
 .elementor-386 .elementor-element.elementor-element-51fff1a{max-width:min(950px, calc(100% - 300px))!important;width:auto!important}
 .elementor-386 .elementor-element.elementor-element-3fb9051{max-width:min(713px, calc(100% - 260px))!important}
}
