/* GDA FIPE — planejador de viagem (/planejar-viagem/), 0.19.0. Usa os tokens e cartões do fipe.css (.gdafipe, .gf-cx, .gf-kpi…).
   Celular primeiro (412 px com letra 1,45x); no computador, formulário à esquerda e mapa/resultado à direita. */
.gf-viagem{--gv-a:#2f9e5b;--gv-b:#3666af;--gv-ped:#d48a1a}
[data-theme="dark"] .gf-viagem{--gv-a:#5cc486;--gv-b:#6f9be0;--gv-ped:#f0b04a}
.gf-viagem .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.gf-viagem [hidden]{display:none!important}
/* Duas colunas quando a área do conteúdo tem espaço (no tema do site a página do planejador usa a largura larga). */
.gf-viagem{container-type:inline-size;container-name:gviagem}
.gf-viagem .gv-grade{display:grid;gap:20px;align-items:start;min-width:0}
@container gviagem (min-width:900px){
  .gf-viagem .gv-grade{grid-template-columns:minmax(320px,390px) minmax(0,1fr)}
  .gf-viagem .gv-mapa{height:460px}
}

/* ---------- formulário ---------- */
.gf-viagem .gv-form{gap:16px;padding:clamp(16px,3.5vw,24px);overflow:visible}
.gf-viagem .gv-form::before{display:none}
.gf-viagem .gv-form-t{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.gf-viagem .gv-form-t h2{font-size:clamp(20px,2.4vw,24px)}
.gf-viagem input[type=text],.gf-viagem input[type=number]{width:100%;font:inherit;font-size:16px;color:var(--gf-fg);background:var(--gf-bg);border:1px solid var(--gf-linha);border-radius:calc(var(--gf-raio) - 2px);padding:12px 14px;min-height:50px;min-width:0}
.gf-viagem input[type=text]::placeholder{color:color-mix(in srgb,var(--gf-sub) 80%,transparent)}
.gf-viagem input:focus-visible,.gf-viagem select:focus-visible{outline:3px solid var(--gf-verde);outline-offset:1px}
.gf-viagem .gf-campo label small{text-transform:none;letter-spacing:0;font-weight:500}
.gf-viagem fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:10px}
.gf-viagem legend,.gf-viagem .gv-comb-t{font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gf-sub);padding:0;margin-bottom:8px}

/* saída e destino: campos empilhados, botão de trocar ao lado */
.gf-viagem .gv-cidades{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;align-items:end}
.gf-viagem .gv-cidades [data-gv-ac="de"]{grid-column:1;grid-row:1}
.gf-viagem .gv-cidades [data-gv-ac="para"]{grid-column:1;grid-row:2}
.gf-viagem .gv-trocar{grid-column:2;grid-row:1/3;align-self:center;margin-top:24px;width:44px;height:44px;border-radius:50%;border:1px solid var(--gf-linha);background:var(--gf-card);color:var(--gf-azul);cursor:pointer;display:grid;place-items:center;padding:0;transition:transform .25s,border-color .2s}
.gf-viagem .gv-trocar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-trocar:hover{border-color:var(--gf-azul)}
.gf-viagem .gv-trocar.is-gira{transform:rotate(180deg)}
.gf-viagem .gv-ac-caixa{position:relative;min-width:0}
.gf-viagem .gv-ac input[type=text]{padding-left:38px;background-repeat:no-repeat;background-position:13px center;background-size:14px}
.gf-viagem [data-gv-ac="de"] input[type=text]{background-image:radial-gradient(circle,var(--gv-a) 0 5px,transparent 5.5px)}
.gf-viagem [data-gv-ac="para"] input[type=text]{background-image:radial-gradient(circle,var(--gv-b) 0 5px,transparent 5.5px)}
.gf-viagem .gv-ac.is-ok input[type=text]{border-color:color-mix(in srgb,var(--gf-verde) 60%,var(--gf-linha))}
.gf-viagem .gv-ac-lista{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);margin:0;padding:6px;list-style:none;background:var(--gf-card);border:1px solid var(--gf-linha);border-radius:12px;box-shadow:0 18px 40px -18px rgba(20,40,80,.45);max-height:min(320px,50vh);overflow:auto}
.gf-viagem .gv-ac-lista li{padding:11px 12px;border-radius:8px;cursor:pointer;line-height:1.3;overflow-wrap:anywhere}
.gf-viagem .gv-ac-lista li b{font-weight:700}
.gf-viagem .gv-ac-lista li small{color:var(--gf-sub);margin-left:4px}
.gf-viagem .gv-ac-lista li[aria-selected="true"],.gf-viagem .gv-ac-lista li:hover{background:var(--gf-azul-cl)}
.gf-viagem .gv-ac-lista .gv-ac-nada{cursor:default;color:var(--gf-sub)}
.gf-viagem .gv-ac-lista .gv-ac-nada:hover{background:none}

/* carro */
.gf-viagem .gv-modos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:4px;background:var(--gf-bg);border:1px solid var(--gf-linha);border-radius:12px;padding:4px}
.gf-viagem .gv-modos label{display:flex;align-items:center;justify-content:center;text-align:center;gap:6px;padding:9px 10px;border-radius:9px;font-weight:600;font-size:14px;line-height:1.25;cursor:pointer;color:var(--gf-sub);position:relative}
.gf-viagem .gv-modos input{position:absolute;opacity:0;pointer-events:none}
.gf-viagem .gv-modos label:has(input:checked){background:var(--gf-card);color:var(--gf-azul-fo);box-shadow:0 4px 12px -6px rgba(20,40,80,.35)}
.gf-viagem .gv-modos label:has(input:focus-visible){outline:3px solid var(--gf-verde)}
.gf-viagem .gv-modo{display:grid;gap:10px}
.gf-viagem .gv-sels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}
.gf-viagem [data-gv-modo="fipe"] .gv-sels>.gf-campo:last-child{grid-column:1/-1}
.gf-viagem .gv-kml{background:var(--gf-verde-cl);border:1px solid color-mix(in srgb,var(--gf-verde) 35%,transparent);border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.gf-viagem .gv-kml b{font-family:var(--gf-num);font-size:17px}
.gf-viagem .gv-kml.is-sem{background:#fff6dd;border-color:#f1d58a;color:#5d4600}
[data-theme="dark"] .gf-viagem .gv-kml.is-sem{background:#3a2f12;border-color:#6d5a1f;color:#f3dc9a}
.gf-viagem .gv-kml button{font:inherit;font-weight:700;color:var(--gf-azul);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}

/* combustível (flex) */
.gf-viagem .gv-comb{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gf-viagem .gv-comb .gv-comb-t{flex-basis:100%;margin:0}
.gf-viagem .gv-comb label{position:relative;border:1px solid var(--gf-linha);background:var(--gf-card);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;line-height:1.25}
.gf-viagem .gv-comb input{position:absolute;opacity:0;pointer-events:none}
.gf-viagem .gv-comb label:has(input:checked){background:var(--gf-azul);border-color:var(--gf-azul);color:#fff}
.gf-viagem .gv-comb label:has(input:focus-visible){outline:3px solid var(--gf-verde);outline-offset:2px}

/* pessoas e ida e volta */
.gf-viagem .gv-linha2{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:end}
.gf-viagem .gv-linha2 .gf-campo{flex:0 1 auto}
.gf-viagem .gv-passo{display:flex;align-items:stretch;border:1px solid var(--gf-linha);border-radius:12px;overflow:hidden;background:var(--gf-bg);width:max-content}
.gf-viagem .gv-passo button{width:48px;min-height:48px;border:0;background:none;font-size:24px;line-height:1;color:var(--gf-azul);cursor:pointer;font-weight:700}
.gf-viagem .gv-passo button:hover{background:var(--gf-azul-cl)}
.gf-viagem .gv-passo input[type=number]{width:3.2em;min-height:48px;border:0;border-radius:0;text-align:center;font:700 20px var(--gf-num);padding:0;background:transparent;-moz-appearance:textfield;appearance:textfield}
.gf-viagem .gv-passo input::-webkit-inner-spin-button,.gf-viagem .gv-passo input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.gf-viagem .gv-check{display:flex;align-items:center;gap:10px;min-height:48px;font-weight:600;cursor:pointer;line-height:1.25}
.gf-viagem .gv-check input{width:24px;height:24px;accent-color:var(--gf-verde);margin:0;flex:none}

.gf-viagem .gv-calcular{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;border:0;cursor:pointer;background:var(--gf-azul);color:#fff;font-family:inherit;font-weight:800;font-size:19px;line-height:1.2;border-radius:14px;padding:16px 18px;min-height:58px;box-shadow:0 14px 26px -14px var(--gf-azul);transition:background .2s,transform .15s}
.gf-viagem .gv-calcular i{font-style:normal;font-size:24px;transition:transform .2s}
.gf-viagem .gv-calcular:hover{background:var(--gf-azul-fo)}
.gf-viagem .gv-calcular:hover i{transform:translateX(4px)}
.gf-viagem .gv-calcular:active{transform:scale(.99)}
.gf-viagem .gv-calcular[disabled]{opacity:.7;cursor:progress}
[data-theme="dark"] .gf-viagem .gv-calcular:hover{background:#2b5596}
.gf-viagem .gv-msg{margin:0;background:var(--gf-queda-cl);color:color-mix(in srgb,var(--gf-queda) 75%,var(--gf-fg));border-radius:12px;padding:10px 14px;font-size:15px;line-height:1.4}
.gf-viagem .gv-fontes{margin:0;font-size:12.5px;line-height:1.45}

/* ---------- lado do resultado ---------- */
.gf-viagem .gv-saida{display:grid;gap:16px;min-width:0;container-type:inline-size;outline:0}
.gf-viagem .gv-inicio{border:2px dashed var(--gf-linha);border-radius:calc(var(--gf-raio) + 6px);padding:clamp(18px,4vw,36px);text-align:center;display:grid;gap:10px;justify-items:center;background:var(--gf-card)}
.gf-viagem .gv-inicio h2{font-size:clamp(19px,2.4vw,24px)}
.gf-viagem .gv-inicio p{margin:0;color:var(--gf-sub);max-width:46ch}
.gf-viagem .gv-inicio-ilu{width:min(100%,320px);height:auto}
.gf-viagem .gv-ilu-estrada{fill:none;stroke:var(--gf-grade);stroke-width:16;stroke-linecap:round}
.gf-viagem .gv-ilu-faixa{fill:none;stroke:var(--gf-card);stroke-width:2.5;stroke-dasharray:8 10;stroke-linecap:round}
.gf-viagem .gv-ilu-a{fill:var(--gv-a)} .gf-viagem .gv-ilu-b{fill:var(--gv-b)}
.gf-viagem .gv-ilu-pin circle{fill:var(--gf-verde);stroke:var(--gf-card);stroke-width:3}

/* carregando */
.gf-viagem .gv-carregando{display:grid;gap:14px}
.gf-viagem .gv-esq{border-radius:var(--gf-raio);background:linear-gradient(90deg,var(--gf-grade) 0%,var(--gf-card) 50%,var(--gf-grade) 100%);background-size:200% 100%;animation:gv-brilho 1.3s linear infinite}
.gf-viagem .gv-esq--a{height:150px}.gf-viagem .gv-esq--b{height:min(55vh,420px)}.gf-viagem .gv-esq--c{height:120px}
.gf-viagem .gv-passos{margin:0;color:var(--gf-sub);font-weight:600;display:flex;align-items:center;gap:10px}
@keyframes gv-brilho{to{background-position:-200% 0}}
.gf-viagem .gv-gira{width:18px;height:18px;border-radius:50%;border:3px solid var(--gf-grade);border-top-color:var(--gf-azul);animation:gv-roda .8s linear infinite;flex:none;display:inline-block}
@keyframes gv-roda{to{transform:rotate(360deg)}}

/* erro */
.gf-viagem .gv-erro{border:1px solid color-mix(in srgb,var(--gf-queda) 35%,var(--gf-linha));background:var(--gf-card);border-radius:var(--gf-raio);padding:20px;display:grid;gap:10px;justify-items:start}
.gf-viagem .gv-erro h2{font-size:20px;display:flex;align-items:center;gap:10px}
.gf-viagem .gv-erro h2::before{content:"!";display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gf-queda-cl);color:var(--gf-queda);font-weight:800;flex:none}
.gf-viagem .gv-erro p{margin:0;color:var(--gf-sub)}
.gf-viagem .gv-erro .gv-admin{background:#fff6dd;color:#6a4d00;border-radius:10px;padding:8px 12px;font-size:14px}
.gf-viagem .gv-btn{font:inherit;font-weight:700;border:1px solid var(--gf-azul);color:var(--gf-azul);background:var(--gf-card);border-radius:12px;padding:10px 16px;cursor:pointer;min-height:44px;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.gf-viagem .gv-btn:hover{background:var(--gf-azul-cl)}

/* resumo */
.gf-viagem .gv-resumo{gap:12px;background:radial-gradient(120% 140% at 100% 0%,var(--gf-azul-cl) 0%,var(--gf-card) 60%)}
.gf-viagem .gv-trajeto{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:clamp(19px,2.6vw,25px);line-height:1.25}
.gf-viagem .gv-trajeto>span:not(.gv-pino){overflow-wrap:anywhere}
.gf-viagem .gv-trajeto:focus{outline:none}
.gf-viagem .gv-trajeto>i{font-style:normal;color:var(--gf-sub);margin:0 2px}
.gf-viagem .gv-pino{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);color:#fff;font:800 13px/1 var(--gf-num);flex:none}
.gf-viagem .gv-pino>*{transform:rotate(45deg)}
.gf-viagem .gv-pino--a{background:var(--gv-a)} .gf-viagem .gv-pino--b{background:var(--gv-b)}
.gf-viagem .gv-chips{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;color:var(--gf-sub);font-size:14px;line-height:1.4}
.gf-viagem .gv-chips i{font-style:normal}
.gf-viagem .gv-chips span{overflow-wrap:anywhere}
.gf-viagem .gv-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@container (min-width:640px){.gf-viagem .gv-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gf-viagem .gv-kpi{background:var(--gf-card);border:1px solid var(--gf-linha);border-radius:12px;padding:12px 14px;min-width:0;display:grid;gap:2px;align-content:start}
.gf-viagem .gv-kpi span{font-size:12px;color:var(--gf-sub);letter-spacing:.05em;text-transform:uppercase;font-weight:700;line-height:1.3}
.gf-viagem .gv-kpi b{font:800 clamp(24px,4.4vw,32px)/1.1 var(--gf-num);font-variant-numeric:tabular-nums;color:var(--gf-azul-fo);overflow-wrap:anywhere}
.gf-viagem .gv-kpi small{font-size:12.5px;color:var(--gf-sub);line-height:1.35}
.gf-viagem .gv-kpi--forte{background:linear-gradient(135deg,var(--gf-azul-fo),var(--gf-azul));border-color:transparent;box-shadow:0 14px 30px -20px rgba(20,40,80,.6)}
.gf-viagem .gv-kpi--forte span,.gf-viagem .gv-kpi--forte small{color:rgba(255,255,255,.88)}
.gf-viagem .gv-kpi--forte b{color:#fff}
.gf-viagem .gv-resumo-ped{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:14px;line-height:1.45;color:var(--gf-sub)}
.gf-viagem .gv-resumo-ped svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--gv-ped);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-resumo-ped b{color:var(--gf-fg)}

/* mapa */
.gf-viagem .gv-mapa-cx{padding:8px;gap:8px}
.gf-viagem .gv-mapa-cx .gf-fonte{margin:0 8px 6px;font-size:12.5px}
.gf-viagem .gv-mapa{position:relative;height:55vh;min-height:300px;max-height:560px;border-radius:calc(var(--gf-raio) - 4px);overflow:hidden;background:var(--gf-bg);isolation:isolate}
.gf-viagem .gv-mapa-espera{position:absolute;inset:0;display:flex;gap:10px;align-items:center;justify-content:center;color:var(--gf-sub);font-weight:600}
.gf-viagem .gv-mapa-ativar{position:absolute;z-index:500;inset:auto 10px 10px auto;border:0;border-radius:999px;background:rgba(20,33,58,.86);color:#fff;font-family:inherit;font-weight:600;font-size:14px;line-height:1.2;padding:10px 14px;cursor:pointer;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.gf-viagem .gv-mapa.is-ativo .gv-mapa-ativar{display:none}
.gf-viagem .gv-mapa .leaflet-container{font:inherit}
.gf-viagem .gv-mapa .leaflet-popup-content{margin:10px 14px;font-size:14px;line-height:1.4}
.gf-viagem .gv-mapa .leaflet-popup-content b{display:block;font-size:15px}
.gf-viagem .gv-mapa .leaflet-popup-content a{color:var(--gf-azul);font-weight:700}
.gf-viagem .gv-mk{display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);color:#fff;border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.35)}
.gf-viagem .gv-mk>*{transform:rotate(45deg)}
.gf-viagem .gv-mk b{font:800 14px/1 var(--gf-num)}
.gf-viagem .gv-mk svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-mk--a{background:var(--gv-a)} .gf-viagem .gv-mk--b{background:var(--gv-b)}
.gf-viagem .gv-mk--p{background:#5b6b82;width:30px;height:30px} .gf-viagem .gv-mk--f{background:var(--gf-verde)}
.gf-viagem .gv-mk--t{background:var(--gv-ped);width:26px;height:26px;border-radius:7px;transform:none}
.gf-viagem .gv-mk--t>*{transform:none}
.gf-viagem .gv-mk--t svg{width:15px;height:15px}

/* combustível */
.gf-viagem .gv-reco{margin:0;background:var(--gf-verde-cl);border-radius:12px;padding:10px 14px;line-height:1.45;border:1px solid color-mix(in srgb,var(--gf-verde) 35%,transparent)}
.gf-viagem .gv-comb-res li b::after{content:none}
.gf-viagem .gv-comb-res li span em{font-style:normal;background:rgba(255,255,255,.18);border-radius:999px;padding:1px 8px;margin-left:4px;text-transform:none;letter-spacing:0}
.gf-viagem .gv-ufs{display:grid;gap:10px}
.gf-viagem .gv-ufs h3{font-size:17px}
.gf-viagem .gv-ufs h3 small{font-weight:500;color:var(--gf-sub);font-size:14px}
.gf-viagem .gv-barras{gap:10px}
.gf-viagem .gv-barra{display:grid;grid-template-columns:minmax(64px,auto) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:14px}
.gf-viagem .gv-barra-uf b{display:block;font:700 16px var(--gf-num)}
.gf-viagem .gv-barra-uf small,.gf-viagem .gv-barra-v small{display:block;color:var(--gf-sub);font-size:12.5px;line-height:1.2}
.gf-viagem .gv-barra-v{text-align:right}
.gf-viagem .gv-barra-v b{font:700 16px var(--gf-num);font-variant-numeric:tabular-nums;white-space:nowrap}
.gf-viagem .gf-cx>.gf-fonte{margin:0;line-height:1.5}
.gf-viagem .gv-vazio{margin:0;background:var(--gf-bg);border-radius:12px;padding:12px 14px;color:var(--gf-sub)}

/* paradas: linha do tempo */
.gf-viagem .gv-linha{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.gf-viagem .gv-l{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;position:relative;padding-bottom:18px}
.gf-viagem .gv-l:last-child{padding-bottom:0}
.gf-viagem .gv-l::before{content:"";position:absolute;left:19px;top:40px;bottom:2px;width:3px;border-radius:2px;background:repeating-linear-gradient(var(--gf-grade) 0 8px,transparent 8px 13px)}
.gf-viagem .gv-l:last-child::before{display:none}
.gf-viagem .gv-l-ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:800 16px/1 var(--gf-num);font-style:normal;color:#fff;background:#5b6b82;box-shadow:0 0 0 4px var(--gf-card);position:relative;z-index:1}
.gf-viagem .gv-l-ic svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-l--a .gv-l-ic{background:var(--gv-a)} .gf-viagem .gv-l--b .gv-l-ic{background:var(--gv-b)}
.gf-viagem .gv-l.is-abasteca .gv-l-ic{background:var(--gf-verde)}
.gf-viagem .gv-l-c{display:grid;gap:4px;min-width:0;padding-top:8px}
.gf-viagem .gv-l--p .gv-l-c{background:var(--gf-bg);border-radius:12px;padding:10px 12px}
.gf-viagem .gv-l.is-abasteca .gv-l-c{background:var(--gf-verde-cl);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gf-verde) 40%,transparent)}
.gf-viagem .gv-l-t{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.gf-viagem .gv-l-c b{font-size:17px;line-height:1.3;overflow-wrap:anywhere}
.gf-viagem .gv-l-c small{color:var(--gf-sub);font-size:13.5px;line-height:1.35}
.gf-viagem .gv-selo{display:inline-flex;align-items:center;gap:5px;background:var(--gf-verde);color:#fff;font-size:12.5px;font-weight:800;border-radius:999px;padding:3px 10px;letter-spacing:.02em}
.gf-viagem .gv-selo svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-l-precos{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px}
.gf-viagem .gv-l-precos b{font:700 16px var(--gf-num);font-variant-numeric:tabular-nums;color:var(--gf-azul-fo);margin-left:2px}
.gf-viagem .gv-l-precos .is-esc b{text-decoration:underline;text-decoration-color:var(--gf-verde);text-decoration-thickness:3px;text-underline-offset:3px}
.gf-viagem .gv-l-nivel{font-style:italic}
.gf-viagem .gv-maps{justify-self:start;margin-top:4px;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:10px;border:1px solid var(--gf-linha);background:var(--gf-card);color:var(--gf-azul);font-weight:700;font-size:14px;text-decoration:none;line-height:1.25}
.gf-viagem .gv-maps:hover{border-color:var(--gf-azul)}

/* pedágios */
.gf-viagem .gv-ped-topo{margin:0;line-height:1.5;background:color-mix(in srgb,var(--gv-ped) 12%,var(--gf-card));border:1px solid color-mix(in srgb,var(--gv-ped) 35%,transparent);border-radius:12px;padding:10px 14px}
.gf-viagem .gv-ped-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gf-viagem .gv-ped-lista li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 12px;align-items:start;background:var(--gf-bg);border-radius:12px;padding:10px 12px}
.gf-viagem .gv-ped-ic{width:36px;height:36px;border-radius:9px;background:var(--gv-ped);display:grid;place-items:center}
.gf-viagem .gv-ped-ic svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-ped-c{display:grid;gap:2px;min-width:0}
.gf-viagem .gv-ped-c b{font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.gf-viagem .gv-ped-c small{color:var(--gf-sub);font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.gf-viagem .gv-ff{justify-self:start;display:inline-block;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--gf-azul-cl);color:var(--gf-azul-fo);border-radius:999px;padding:2px 8px;vertical-align:middle}
.gf-viagem .gv-ped-val{grid-column:2;font-size:13px;color:var(--gf-sub);font-style:italic}
.gf-viagem .gv-ped-val b{font:700 17px var(--gf-num);color:var(--gf-fg);font-style:normal}
.gf-viagem .gv-ped-total{margin:0;font-size:15px}
@container (min-width:560px){
  .gf-viagem .gv-ped-lista li{grid-template-columns:36px minmax(0,1fr) auto}
  .gf-viagem .gv-ped-val{grid-column:3;text-align:right;align-self:center;max-width:12em}
}

/* compartilhar */
.gf-viagem .gv-acoes{display:flex;flex-wrap:wrap;gap:10px}
.gf-viagem .gv-zap,.gf-viagem .gv-copiar{flex:1 1 220px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:14px;padding:12px 16px;font-family:inherit;font-weight:800;font-size:16px;line-height:1.2;text-decoration:none;cursor:pointer;text-align:center}
.gf-viagem .gv-zap{background:#1fa855;color:#fff;border:0;box-shadow:0 12px 24px -14px #1fa855}
.gf-viagem .gv-zap:hover{background:#178a45}
.gf-viagem .gv-copiar{background:var(--gf-card);color:var(--gf-azul);border:1px solid var(--gf-linha)}
.gf-viagem .gv-copiar:hover{border-color:var(--gf-azul)}
.gf-viagem .gv-zap svg,.gf-viagem .gv-copiar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.gf-viagem .gv-copiar.is-ok{border-color:var(--gf-verde);color:color-mix(in srgb,var(--gf-verde) 70%,var(--gf-fg))}
.gf-viagem .gv-convites{display:grid;gap:16px}

/* entrada animada dos cartões */
@media (prefers-reduced-motion:no-preference){
  .gf-viagem .gv-saida>.gf-cx,.gf-viagem .gv-saida>.gv-acoes{animation:gf-sobe .5s cubic-bezier(.2,.8,.2,1) both}
  .gf-viagem .gv-saida>:nth-child(2){animation-delay:.06s}.gf-viagem .gv-saida>:nth-child(3){animation-delay:.12s}
  .gf-viagem .gv-saida>:nth-child(4){animation-delay:.18s}.gf-viagem .gv-saida>:nth-child(5){animation-delay:.24s}
  .gf-viagem .gv-saida>:nth-child(6){animation-delay:.3s}
  .gf-viagem .gv-ilu-faixa{animation:gv-anda 1.6s linear infinite}
  .gf-viagem .gv-ilu-pin{animation:gv-pulo 2.4s ease-in-out infinite}
}
@keyframes gv-anda{to{stroke-dashoffset:-36}}
@keyframes gv-pulo{0%,100%{transform:translate(150px,90px)}50%{transform:translate(150px,84px)}}
@media (prefers-reduced-motion:reduce){.gf-viagem .gv-esq{animation:none}}

/* celular estreito / letra grande */
@media (max-width:420px){
  .gf-viagem .gv-kpi{padding:10px 12px}
  .gf-viagem .gv-barra{grid-template-columns:minmax(52px,auto) minmax(0,1fr) auto;gap:8px}
  .gf-viagem .gv-l{grid-template-columns:34px minmax(0,1fr);gap:10px}
  .gf-viagem .gv-l-ic{width:34px;height:34px;font-size:14px}
  .gf-viagem .gv-l::before{left:16px;top:34px}
}
/* 0.19.1: campo ainda bloqueado (escolha a marca primeiro) em cinza-claro, não amarelado. */
.gf-viagem select:disabled,.gf-viagem input:disabled{background:var(--gf-bg)!important;color:#8a97ad;border-color:var(--gf-linha);opacity:1;cursor:not-allowed;-webkit-text-fill-color:#8a97ad}

/* ---------- "Passar por" (0.19.7) ---------- */
.gf-viagem .gv-vias{display:grid;gap:10px}
.gf-viagem .gv-vias-lista{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gf-viagem .gv-vias-lista:empty{display:none}
.gf-viagem .gv-via{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:0}
.gf-viagem [data-gv-ac="via"] input[type=text]{background-image:radial-gradient(circle,var(--gf-sub) 0 4px,transparent 4.5px)}
.gf-viagem .gv-via-bts{display:flex;gap:4px}
.gf-viagem .gv-via-bt{width:44px;height:48px;display:grid;place-items:center;border:1px solid var(--gf-linha);border-radius:12px;background:var(--gf-card);color:var(--gf-azul);cursor:pointer;padding:0}
.gf-viagem .gv-via-bt:hover:not(:disabled){border-color:var(--gf-azul)}
.gf-viagem .gv-via-bt:disabled{opacity:.35;cursor:default}
.gf-viagem .gv-via-bt[data-gv-via="tira"]{color:#c0392b}
.gf-viagem .gv-via-bt svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-via-bt:focus-visible{outline:3px solid var(--gf-verde);outline-offset:1px}
.gf-viagem .gv-via-add{justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 4px;border:0;background:none;color:var(--gf-azul);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.gf-viagem .gv-via-add span{font-size:1.3em;line-height:1;text-decoration:none}
.gf-viagem .gv-pino--via{background:#fff;color:var(--gf-sub);border:2px solid var(--gf-sub);border-radius:50%;transform:none;width:24px;height:24px}
.gf-viagem .gv-pino--via>*{transform:none}
.gf-viagem .gv-mk--v{background:#fff;color:#3d4a5c;border:2px solid #3d4a5c;width:28px;height:28px;border-radius:50%;transform:none;font:800 13px/1 var(--gf-num)}
.gf-viagem .gv-mk--v>*{transform:none}
/* Letra grande (1,45x) no celular: os botões ↑ ↓ × descem para baixo do campo. */
@container gviagem (max-width:420px){
  .gf-viagem .gv-via{grid-template-columns:1fr}
  .gf-viagem .gv-via-bts{justify-content:flex-end}
}

/* 0.20.1: rodapé do ponto (redesenho) — utilidades em círculos coloridos à esquerda; Maps/Waze em pílulas à direita. */
.gf-viagem .gv-rodape{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--gf-linha)}
.gf-viagem .gv-utils{display:flex;gap:4px}
.gf-viagem .gv-util{--c:#3666af;--b:#e8eef8;display:flex;flex-direction:column;align-items:center;gap:5px;width:58px;padding:2px 0;border:0;background:none;text-decoration:none;color:#3c4a63;font-size:12px;font-weight:700;line-height:1.1;border-radius:12px;transition:transform .15s}
.gf-viagem .gv-util i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--b);transition:background .15s,box-shadow .15s}
.gf-viagem .gv-util svg{width:21px;height:21px;fill:none;stroke:var(--c);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-util:hover{transform:translateY(-1px)}
.gf-viagem .gv-util:hover i{box-shadow:0 0 0 3px var(--b),0 4px 10px rgba(20,33,58,.12)}
.gf-viagem .gv-util[data-gv-util=posto]{--c:#1e8a4c;--b:#e3f5ea}
.gf-viagem .gv-util[data-gv-util=comer]{--c:#d4621c;--b:#fff0e4}
.gf-viagem .gv-util[data-gv-util=hospital]{--c:#d23a3a;--b:#fdeaea}
.gf-viagem .gv-util[data-gv-util=hotel]{--c:#6a4fc8;--b:#f0ebfd}
.gf-viagem .gv-util[data-gv-util=borracharia]{--c:#46566f;--b:#edf1f6}
.gf-viagem .gv-nav{display:flex;gap:4px;margin-left:auto;padding-left:14px;border-left:1px solid var(--gf-linha)}
/* 0.20.2: Maps e Waze como ícones de aplicativo (quadrado arredondado), no mesmo ritmo das utilidades. */
.gf-viagem .gv-nav-b{display:flex;flex-direction:column;align-items:center;gap:5px;width:58px;padding:2px 0;text-decoration:none;color:#3c4a63;font-size:12px;font-weight:700;line-height:1.1;transition:transform .15s}
.gf-viagem .gv-nav-b i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;box-shadow:0 2px 6px rgba(20,33,58,.14);transition:box-shadow .15s}
.gf-viagem .gv-nav-b:hover{transform:translateY(-1px)}
.gf-viagem .gv-nav-b:hover i{box-shadow:0 6px 14px rgba(20,33,58,.2)}
.gf-viagem .gv-nav-b svg{width:24px;height:24px}
.gf-viagem svg.gv-marca{stroke:none!important;fill:currentColor}
.gf-viagem .gv-nav-maps i{background:#fff;border:1px solid #e3e7ee;color:#ea4335}
.gf-viagem .gv-nav-waze i{background:#33ccff;color:#fff}
.gf-viagem .gv-nav-b:focus-visible,.gf-viagem .gv-util:focus-visible{outline:3px solid var(--gf-verde);outline-offset:2px}
@media (max-width:600px){
  .gf-viagem .gv-rodape{display:grid;grid-template-columns:1fr;gap:10px}
  .gf-viagem .gv-utils{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
  .gf-viagem .gv-util{width:auto;font-size:11.5px}
  .gf-viagem .gv-util span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .gf-viagem .gv-nav{margin-left:0;padding:10px 0 0;border-left:0;border-top:1px solid var(--gf-linha);align-items:center;gap:6px}
  .gf-viagem .gv-nav::before{content:"Ir até aqui com";flex:1;font-size:13px;font-weight:700;color:#5b6b86}
  .gf-viagem .gv-nav-b{flex-direction:row;width:auto;gap:7px;padding:4px 8px 4px 4px;border-radius:14px;font-size:13.5px;color:#1f3f73}
  .gf-viagem .gv-nav-b i{width:38px;height:38px}
}

/* 0.20.3: utilidades como placas de serviço (padrão CONTRAN) — sem o círculo colorido. */
.gf-viagem .gv-util i{width:42px;height:42px;border-radius:7px;background:none!important;box-shadow:0 2px 5px rgba(20,33,58,.18)}
.gf-viagem .gv-util:hover i{box-shadow:0 6px 14px rgba(20,33,58,.24)}
.gf-viagem .gv-util svg.gv-placa{width:42px;height:42px;stroke:none}
@media (max-width:600px){.gf-viagem .gv-util i,.gf-viagem .gv-util svg.gv-placa{width:40px;height:40px}}

/* 0.20.4: "Leve sua viagem" — 4 botões iguais, Salvar em destaque. */
.gf-viagem .gv-acoes{display:block;padding:18px;border:1px solid var(--gf-linha);border-radius:18px;background:var(--gf-card)}
.gf-viagem .gv-acoes-t{margin:0 0 12px;font-size:20px;color:var(--gf-azul-fo)}
.gf-viagem .gv-acoes-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gf-viagem .gv-acoes-g>.gv-acao,.gf-viagem .gv-acoes-g>.gv-bordo{flex:none;display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:10px 12px;border-radius:14px;border:1px solid var(--gf-linha);background:var(--gf-card);color:var(--gf-azul-fo)!important;font:inherit;font-weight:800;font-size:15px;line-height:1.15;white-space:nowrap;text-decoration:none!important;box-shadow:none;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}
.gf-viagem .gv-acoes-g>.gv-acao:hover{border-color:var(--gf-azul);transform:translateY(-1px);box-shadow:0 6px 14px rgba(20,33,58,.1)}
.gf-viagem .gv-acoes-g svg{width:22px;height:22px;flex:none}
.gf-viagem .gv-acoes-g .gv-zap svg{stroke:#1fa855}
.gf-viagem .gv-acoes-g .gv-gmaps svg{color:#ea4335}
.gf-viagem .gv-acoes-g .gv-copiar svg{stroke:var(--gf-azul)}
.gf-viagem .gv-acoes-g>.gv-bordo{background:linear-gradient(120deg,#1f3f73,#2b5797 55%,#3e70bd);border-color:transparent;color:#fff!important;box-shadow:0 10px 22px -12px rgba(31,63,115,.8)}
.gf-viagem .gv-acoes-g>.gv-bordo:hover{transform:translateY(-1px)}
.gf-viagem .gv-acoes-g>.gv-bordo.is-ok{background:linear-gradient(120deg,#2f8a3e,#5fb94e)}
.gf-viagem .gv-acoes-g>.gv-bordo svg{stroke:#fff}
.gf-viagem .gv-acoes-g>.gv-bordo-dica,.gf-viagem .gv-acoes-g>.gv-bordo-msg{grid-column:1/-1;order:10;margin:2px 2px 0!important;font-size:14px}
@media (max-width:760px){.gf-viagem .gv-acoes-g{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.gf-viagem .gv-acoes{padding:14px}.gf-viagem .gv-acoes-g>.gv-acao,.gf-viagem .gv-acoes-g>.gv-bordo{font-size:14.5px;padding:10px 8px;width:auto}}

/* ---------- 0.21.0: roteiro dia a dia ---------- */
.gf-viagem .gv-rot-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.gf-viagem .gv-rot-cab h2{margin:0;font-size:24px;line-height:1.15;color:var(--gf-azul-fo)}
.gf-viagem .gv-rot-cab h2 b{color:var(--gf-verde)}
.gf-viagem .gv-rot-sub{margin:4px 0 0;color:var(--gf-sub);font-size:14px}
.gf-viagem .gv-rot-aj{display:inline-flex;align-items:center;gap:6px;flex:none;border:1px solid var(--gf-linha);background:var(--gf-card);color:var(--gf-azul-fo);font:700 14px/1 inherit;padding:9px 14px;border-radius:999px;cursor:pointer}
.gf-viagem .gv-rot-aj svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.gf-viagem .gv-rot-aj[aria-expanded=true]{background:var(--gf-azul-cl);border-color:var(--gf-azul)}
.gf-viagem .gv-rot-form{margin:14px 0 4px;padding:16px;border-radius:14px;background:var(--gf-bg);border:1px solid var(--gf-linha)}
.gf-viagem .gv-rot-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.gf-viagem .gv-rot-form .gv-campo{display:grid;gap:5px;font-size:13.5px;font-weight:700;color:var(--gf-fg)}
.gf-viagem .gv-rot-form input[type=date],.gf-viagem .gv-rot-form input[type=time]{width:100%;min-height:44px;border:1px solid var(--gf-linha);border-radius:10px;padding:8px 10px;font:inherit;font-size:16px;background:var(--gf-card);color:var(--gf-fg)}
.gf-viagem .gv-seg{border:0;margin:0;padding:0;min-width:0}
.gf-viagem .gv-seg legend{font-size:13.5px;font-weight:700;padding:0;margin-bottom:5px;color:var(--gf-fg)}
.gf-viagem .gv-seg>div{display:flex;background:var(--gf-card);border:1px solid var(--gf-linha);border-radius:10px;padding:3px;gap:3px}
.gf-viagem .gv-seg label{flex:1;position:relative}
.gf-viagem .gv-seg input{position:absolute;opacity:0;inset:0}
.gf-viagem .gv-seg span{display:block;text-align:center;padding:9px 6px;border-radius:8px;font-size:14px;font-weight:700;color:var(--gf-sub);cursor:pointer}
.gf-viagem .gv-seg input:checked+span{background:var(--gf-azul);color:#fff}
.gf-viagem .gv-seg input:focus-visible+span{outline:3px solid var(--gf-verde);outline-offset:1px}
.gf-viagem .gv-rot-refazer{margin-top:14px;width:100%;min-height:46px;border:0;border-radius:12px;background:var(--gf-verde);color:#fff;font:800 16px/1 inherit;cursor:pointer}
.gf-viagem .gv-rot-aviso{margin:12px 0 0;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.45;background:color-mix(in srgb,var(--gv-ped) 12%,var(--gf-card));border:1px solid color-mix(in srgb,var(--gv-ped) 35%,transparent)}
.gf-viagem .gv-rot-aviso--info{background:var(--gf-azul-cl);border-color:color-mix(in srgb,var(--gf-azul) 25%,transparent)}
.gf-viagem .gv-dias{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:0;counter-reset:none}
.gf-viagem .gv-dia{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;position:relative;padding-bottom:22px}
.gf-viagem .gv-dia:not(:last-child)::before{content:"";position:absolute;left:25px;top:56px;bottom:4px;width:2px;background:repeating-linear-gradient(var(--gf-linha) 0 6px,transparent 6px 11px)}
.gf-viagem .gv-dia-n{width:52px;height:52px;border-radius:16px;background:linear-gradient(160deg,#3f74c2,#1f3f73);color:#fff;display:grid;place-content:center;text-align:center;line-height:1;box-shadow:0 8px 18px -8px rgba(31,63,115,.6)}
.gf-viagem .gv-dia:last-child .gv-dia-n{background:linear-gradient(160deg,#2fbf63,#1e8a45)}
.gf-viagem .gv-dia-n small{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85}
.gf-viagem .gv-dia-n b{font:900 22px/1 var(--gf-num)}
.gf-viagem .gv-dia-c{min-width:0;background:var(--gf-card);border:1px solid var(--gf-linha);border-radius:16px;padding:14px 16px;box-shadow:0 6px 18px -14px rgba(20,33,58,.35)}
.gf-viagem .gv-dia-data{margin:0;font-size:13px;font-weight:700;color:var(--gf-sub)}.gf-viagem .gv-dia-data::first-letter{text-transform:uppercase}
.gf-viagem .gv-dia-t{margin:2px 0 8px;font-size:19px;line-height:1.25;color:var(--gf-azul-fo);overflow-wrap:break-word}
.gf-viagem .gv-dia-t i{font-style:normal;color:var(--gf-verde);padding:0 2px}
.gf-viagem .gv-dia-kpis{display:flex;flex-wrap:wrap;gap:6px 8px}
.gf-viagem .gv-dia-kpis>span{display:inline-flex;align-items:center;gap:5px;background:var(--gf-bg);border-radius:999px;padding:5px 11px;font-size:13.5px;color:var(--gf-sub)}
.gf-viagem .gv-dia-kpis b{color:var(--gf-fg);font-family:var(--gf-num)}
.gf-viagem .gv-dia-kpis svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.gf-viagem .gv-dia-sol{color:#b26a00!important;background:#fff4e0!important}
.gf-viagem .gv-copiloto{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;padding:11px 13px;border-radius:12px;background:linear-gradient(135deg,#eef4ff,#f2fbf5);border:1px solid #dbe6f6;font-size:14.5px;line-height:1.5;color:var(--gf-fg)}
.gf-viagem .gv-copiloto-ic{flex:none;width:28px;height:28px;border-radius:50%;background:var(--gf-azul);display:grid;place-items:center}
.gf-viagem .gv-copiloto-ic svg{width:16px;height:16px;fill:#fff}
.gf-viagem .gv-copiloto-tx{flex:1;min-width:0;padding-top:3px}
.gf-viagem .gv-shimmer{display:block;height:10px;border-radius:5px;margin:4px 0 8px;background:linear-gradient(90deg,#dfe7f3 0,#f3f6fb 50%,#dfe7f3 100%);background-size:200% 100%;animation:gvBrilho 1.2s linear infinite}
.gf-viagem .gv-shimmer--c{width:60%}
@keyframes gvBrilho{to{background-position:-200% 0}}
.gf-viagem .gv-pern{margin-top:12px;padding-top:12px;border-top:1px solid var(--gf-linha)}
.gf-viagem .gv-pern-t{display:flex;align-items:center;gap:10px;margin:0;font-size:15.5px;color:var(--gf-fg)}
.gf-viagem .gv-pern-t svg.gv-placa{width:34px;height:34px;flex:none}
.gf-viagem .gv-pern-t>span{display:grid}
.gf-viagem .gv-pern-sem{color:#b26a00;font-size:13px}
.gf-viagem .gv-trancas{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.gf-viagem .gv-tranca{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;border:1px dashed #b9c6dc;background:repeating-linear-gradient(135deg,#f6f8fc 0 8px,#eef2f8 8px 16px);font-size:13.5px;font-weight:700;color:#3c4a63}
.gf-viagem .gv-tranca svg{width:15px;height:15px;fill:none;stroke:var(--gf-azul);stroke-width:2.2;stroke-linecap:round}
.gf-viagem .gv-pern-h{margin:14px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--gf-sub)}
.gf-viagem .gv-lugares,.gf-viagem .gv-pausas{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.gf-viagem .gv-lugares li,.gf-viagem .gv-pausas li{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:12px;background:var(--gf-bg)}
.gf-viagem .gv-lugar-t{display:grid;min-width:0;flex:1}
.gf-viagem .gv-lugar-t b{font-size:14.5px;overflow-wrap:break-word;color:var(--gf-fg)}
.gf-viagem .gv-lugar-t small{font-size:12.5px;color:var(--gf-sub)}
.gf-viagem .gv-lugar--saude{background:#fdeeee!important}
.gf-viagem .gv-fone{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--gf-azul);text-decoration:none;margin-top:2px}
.gf-viagem .gv-fone svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.gf-viagem .gv-pausa-h{justify-self:start;margin-bottom:3px;padding:3px 8px;border-radius:999px;background:var(--gf-azul);color:#fff;font:800 13px/1.2 var(--gf-num)}
.gf-viagem .gv-pern-outras{margin:10px 0 0;font-size:13.5px;color:var(--gf-sub)}
.gf-viagem .gv-nav.gv-nav--mini{margin:0;padding:0;border:0;gap:6px;flex:none}
.gf-viagem .gv-nav--mini::before{content:none!important}
.gf-viagem .gv-nav--mini .gv-nav-b{width:auto;padding:0;border-radius:11px}
.gf-viagem .gv-nav--mini .gv-nav-b i{width:38px;height:38px;border-radius:11px}
.gf-viagem .gv-nav--mini .gv-nav-b svg{width:21px;height:21px}
.gf-viagem .gv-rot-cta{display:flex;gap:14px;margin:4px 0 0;padding:18px;border-radius:16px;color:#fff;background:radial-gradient(420px 220px at 100% 0,rgba(255,255,255,.16),transparent 60%),linear-gradient(150deg,#3f74c2,#1f3f73)}
.gf-viagem .gv-rot-cta-ic{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.16);display:grid;place-items:center}
.gf-viagem .gv-rot-cta-ic svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}
.gf-viagem .gv-rot-cta h3{margin:0 0 8px;color:#fff;font-size:19px}
.gf-viagem .gv-rot-cta ul{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:5px;font-size:14.5px}
.gf-viagem .gv-rot-cta li{padding-left:22px;position:relative}
.gf-viagem .gv-rot-cta li::before{content:"✓";position:absolute;left:0;color:#9ef0b8;font-weight:900}
.gf-viagem .gv-rot-cta-b{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:12px;background:#22a94f;color:#fff!important;font-weight:800;text-decoration:none!important}
.gf-viagem .gv-rot-cta-b:hover{background:#1e9446}
@media (max-width:600px){
  .gf-viagem .gv-rot-cab h2{font-size:21px}
  .gf-viagem .gv-rot-campos{grid-template-columns:1fr}
  .gf-viagem .gv-dia{display:block;padding-bottom:14px}
  .gf-viagem .gv-dia:not(:last-child)::before{content:none}
  .gf-viagem .gv-dia-n{display:inline-flex;align-items:baseline;gap:5px;width:auto;height:auto;padding:6px 12px;border-radius:999px;margin:0 0 -14px 12px;position:relative;z-index:1}
  .gf-viagem .gv-dia-n small{font-size:11px}
  .gf-viagem .gv-dia-n b{font-size:16px}
  .gf-viagem .gv-dia-c{padding-top:20px}
  .gf-viagem .gv-dia-c{padding:12px}
  .gf-viagem .gv-dia-t{font-size:17px}
  .gf-viagem .gv-rot-cta{flex-direction:column;padding:16px}
}
@media (prefers-reduced-motion:reduce){.gf-viagem .gv-shimmer{animation:none}}
[data-theme="dark"] .gf-viagem .gv-copiloto{background:#1b2533;border-color:#2a3a52}
[data-theme="dark"] .gf-viagem .gv-tranca{background:#1b2533;border-color:#3a4a62;color:#c9d4e6}
[data-theme="dark"] .gf-viagem .gv-dia-sol{background:#3a2b10!important;color:#f0b04a!important}
[data-theme="dark"] .gf-viagem .gv-lugar--saude{background:#3a1f22!important}
@media (min-width:900px){.gf-viagem .gv-lugares,.gf-viagem .gv-pausas{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 0.21.2: previsão do INMET */
.gf-viagem .gv-tempo{display:flex;flex:1 1 100%;align-items:center;gap:8px;background:#eaf3ff;border-radius:12px;padding:7px 12px;font-size:13.5px;line-height:1.35;color:#1f3f73;text-align:left}
.gf-viagem .gv-tempo svg{width:18px;height:18px;flex:none;fill:none;stroke:#3666af;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-tempo b{font-family:var(--gf-num);white-space:nowrap}
.gf-viagem .gv-tempo span{color:#3c4a63;overflow-wrap:break-word;min-width:0}
.gf-viagem .gv-tempo.is-chuva{background:#e6f0fb;box-shadow:inset 0 0 0 1.5px #3f74c2}
.gf-viagem .gv-tempo.is-chuva svg{stroke:#1f5fbf}
.gf-viagem .gv-rot-tempo-nota{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:13.5px;color:var(--gf-sub)}
.gf-viagem .gv-rot-tempo-nota svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9}
[data-theme="dark"] .gf-viagem .gv-tempo{background:#1b2533;color:#c9d4e6}
[data-theme="dark"] .gf-viagem .gv-tempo span{color:#c9d4e6}
/* 0.21.3: avisos do INMET no trecho */
.gf-viagem .gv-alerta{margin:12px 0 0;border-radius:12px;border:1px solid var(--al-b);background:var(--al-f);overflow:hidden}
.gf-viagem .gv-alerta--1{--al-f:#fffbd6;--al-b:#e8d64a;--al-i:#8a6d00}
.gf-viagem .gv-alerta--2{--al-f:#fff0e3;--al-b:#f5a25c;--al-i:#c25400}
.gf-viagem .gv-alerta--3{--al-f:#ffe9e8;--al-b:#f07b77;--al-i:#c4120c}
.gf-viagem .gv-alerta summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}
.gf-viagem .gv-alerta summary::-webkit-details-marker{display:none}
.gf-viagem .gv-alerta summary{align-items:flex-start}.gf-viagem .gv-alerta summary>svg{margin-top:1px;width:26px;height:26px;flex:none;fill:var(--al-i);stroke:#fff;stroke-width:1.6;stroke-linejoin:round}
.gf-viagem .gv-alerta summary>span{display:grid;flex:1;min-width:0}
.gf-viagem .gv-alerta summary b{font-size:14.5px;color:#1d2433}
.gf-viagem .gv-alerta summary small{font-size:12.5px;color:#4a5568;overflow-wrap:break-word}
.gf-viagem .gv-alerta-mais{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.7);font-style:normal;font-weight:800;color:var(--al-i);transition:transform .2s}
.gf-viagem .gv-alerta[open] .gv-alerta-mais{transform:rotate(45deg)}
.gf-viagem .gv-alerta summary:focus-visible{outline:3px solid var(--gf-verde);outline-offset:-3px}
.gf-viagem .gv-alerta-c{padding:0 14px 12px 48px;font-size:14px;line-height:1.5;color:#2d3748}
.gf-viagem .gv-alerta-c p{margin:0 0 8px}
.gf-viagem .gv-alerta-c ul{margin:0 0 8px;padding-left:18px}
.gf-viagem .gv-alerta-h{font-weight:800;margin-top:6px!important}
.gf-viagem .gv-alerta-f{font-size:12.5px;color:#5b6b86}
@media (max-width:600px){.gf-viagem .gv-alerta-c{padding-left:14px}}
[data-theme="dark"] .gf-viagem .gv-alerta{--al-f:#2b2516}
[data-theme="dark"] .gf-viagem .gv-alerta summary b,[data-theme="dark"] .gf-viagem .gv-alerta-c{color:#e6ebf3}
[data-theme="dark"] .gf-viagem .gv-alerta summary small{color:#c9d4e6}
.gf-viagem .gv-dia-kpis>.gv-tempo{border-radius:12px;padding:8px 12px;background:#eaf3ff;color:#1f3f73;align-items:center}
.gf-viagem .gv-dia-kpis>.gv-tempo.is-chuva{background:#e6f0fb}
.gf-viagem .gv-dia-kpis>.gv-tempo span{text-align:left;flex:1}
[data-theme="dark"] .gf-viagem .gv-dia-kpis>.gv-tempo{background:#1b2533;color:#c9d4e6}
/* 0.22.0: pontos turísticos */
.gf-viagem .gv-tur-lista{display:grid;gap:8px}
.gf-viagem .gv-tur{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--gf-linha);background:var(--gf-card);border-radius:14px;padding:10px 12px;cursor:pointer;font:inherit;color:var(--gf-fg);transition:border-color .15s,box-shadow .15s,transform .15s}
.gf-viagem .gv-tur:hover{border-color:var(--gf-azul);box-shadow:0 8px 18px -12px rgba(31,63,115,.5);transform:translateY(-1px)}
.gf-viagem .gv-tur:focus-visible{outline:3px solid var(--gf-verde);outline-offset:2px}
.gf-viagem .gv-tur>i{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(150deg,#fff3dc,#ffe2b0)}
.gf-viagem .gv-tur>i svg{width:24px;height:24px;fill:none;stroke:#b35c00;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-tur>span{display:grid;min-width:0;flex:1}
.gf-viagem .gv-tur b{font-size:15px;line-height:1.3;overflow-wrap:break-word}
.gf-viagem .gv-tur small{font-size:13px;color:var(--gf-sub)}
.gf-viagem .gv-tur-dest{margin:6px 0 18px;padding:18px;border-radius:16px;background:linear-gradient(160deg,#fff8ec,#fff 60%);border:1px solid #f3dfbd}
.gf-viagem .gv-tur-dest h3{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:20px;color:var(--gf-azul-fo)}
.gf-viagem .gv-tur-dest h3 svg{width:28px;height:28px;flex:none;fill:none;stroke:#b35c00;stroke-width:1.8;stroke-linejoin:round}
.gf-viagem .gv-tranca--tur{padding:12px 14px}
@media (min-width:900px){.gf-viagem .gv-tur-lista{grid-template-columns:repeat(2,minmax(0,1fr))}.gf-viagem .gv-tur-lista--dest{grid-template-columns:repeat(3,minmax(0,1fr))}}
[data-theme="dark"] .gf-viagem .gv-tur-dest{background:#1f1a12;border-color:#3a2f1c}
[data-theme="dark"] .gf-viagem .gv-tur>i{background:#3a2b10}

/* 0.22.2: janela do lugar (folha que sobe no celular) */
.gf-viagem .gv-dlg{width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:22px;box-shadow:0 30px 80px rgba(10,25,60,.35);background:var(--gf-card);color:var(--gf-fg);overflow:auto}
.gf-viagem .gv-dlg::backdrop{background:rgba(15,26,46,.5)}
.gf-viagem .gv-dlg-c{position:relative;padding:22px 20px 20px}
.gf-viagem .gv-dlg-alca{display:none}
.gf-viagem .gv-dlg-x{all:unset;box-sizing:border-box;position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef2f8;cursor:pointer}
.gf-viagem .gv-dlg-x svg{width:18px;height:18px;fill:none;stroke:#3c4a63;stroke-width:2.4;stroke-linecap:round}
.gf-viagem .gv-dlg-x:hover{background:#e1e8f3}
.gf-viagem .gv-dlg-x:focus-visible{outline:3px solid var(--gf-verde);outline-offset:2px}
.gf-viagem .gv-dlg-foto:not([hidden])~.gv-dlg-x,.gf-viagem .gv-dlg-foto:not([hidden])+.gv-dlg-cab{margin-top:0}
.gf-viagem .gv-dlg-foto{margin:-22px -20px 16px;height:190px;overflow:hidden;background:#e8eef8}
.gf-viagem .gv-dlg-foto img{width:100%;height:100%;object-fit:cover;display:block}
.gf-viagem .gv-dlg-cab{display:flex;gap:12px;align-items:flex-start;padding-right:44px}
.gf-viagem .gv-dlg-ic{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(150deg,#fff3dc,#ffe2b0)}
.gf-viagem .gv-dlg-ic svg{width:28px;height:28px;fill:none;stroke:#b35c00;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-dlg-tipo{margin:0;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#b35c00}
.gf-viagem .gv-dlg h3{margin:1px 0 2px;font-size:21px;line-height:1.2;color:var(--gf-azul-fo)}
.gf-viagem .gv-dlg-info{margin:0;font-size:14px;color:var(--gf-sub)}
.gf-viagem .gv-dlg-txt{margin-top:14px;font-size:15px;line-height:1.6}
.gf-viagem .gv-dlg-txt p{margin:0 0 10px}
.gf-viagem .gv-dlg-vazio{padding:12px 14px;border-radius:12px;background:var(--gf-bg);color:var(--gf-sub);font-size:14px;line-height:1.5}
.gf-viagem .gv-dlg-fonte{font-size:12.5px;color:var(--gf-sub)}
@media (max-width:600px){
  .gf-viagem .gv-dlg{margin:auto 0 0;width:100%;max-width:100%;max-height:88vh;border-radius:22px 22px 0 0}
  .gf-viagem .gv-dlg-c{padding:26px 18px calc(18px + env(safe-area-inset-bottom))}
  .gf-viagem .gv-dlg-alca{display:block;position:absolute;top:8px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:#d3dbe8}
  .gf-viagem .gv-dlg-foto{margin:-26px -18px 16px;height:170px}
}
[data-theme="dark"] .gf-viagem .gv-dlg-x{background:#26303f}
[data-theme="dark"] .gf-viagem .gv-dlg-x svg{stroke:#c9d4e6}

/* 0.22.3: opção C — ícones de aplicativo em fila */
.gf-viagem .gv-dlg-aps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 6px}
.gf-viagem .gv-dlg-ap{all:unset;box-sizing:border-box;display:grid;justify-items:center;gap:7px;cursor:pointer;text-decoration:none!important;font-weight:700;font-size:14px;color:var(--gf-azul-fo)!important;text-align:center}
.gf-viagem .gv-dlg-ap i{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;box-shadow:0 3px 10px rgba(20,33,58,.18);transition:transform .15s,box-shadow .15s}
.gf-viagem .gv-dlg-ap svg{width:30px;height:30px}
.gf-viagem .gv-dlg-ap:hover i{transform:translateY(-2px);box-shadow:0 8px 16px rgba(20,33,58,.22)}
.gf-viagem .gv-dlg-ap:focus-visible i{outline:3px solid var(--gf-verde);outline-offset:3px}
.gf-viagem .gv-dlg-waze i{background:#33ccff;color:#fff}
.gf-viagem .gv-dlg-maps i{background:#fff;border:1px solid #e3e7ee;color:#ea4335}
.gf-viagem .gv-dlg-env i{background:#eef2f8;color:#1f3f73}
.gf-viagem .gv-dlg-env svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;width:26px;height:26px}
.gf-viagem .gv-dlg-txt{margin-top:12px}
.gf-viagem .gv-dlg-cab{align-items:center}
/* 0.23.0: carro elétrico */
.gf-viagem .gv-ev .gv-kpis{margin-top:4px}
.gf-viagem .gv-kwh{margin:14px 0 4px;padding:14px;border-radius:14px;background:var(--gf-bg);border:1px solid var(--gf-linha);display:grid;gap:8px}
.gf-viagem .gv-kwh label{font-weight:800;font-size:15px;color:var(--gf-fg)}
.gf-viagem .gv-kwh-l{display:flex;gap:8px;flex-wrap:wrap}
.gf-viagem .gv-kwh-rs{display:flex;align-items:center;gap:6px;flex:1 1 140px;min-height:48px;padding:0 12px;border:1px solid var(--gf-linha);border-radius:12px;background:var(--gf-card);font-weight:800;color:var(--gf-sub)}
.gf-viagem .gv-kwh-rs input{all:unset;flex:1;min-width:0;font-size:18px;font-weight:800;color:var(--gf-fg);font-family:var(--gf-num)}
.gf-viagem .gv-kwh button{min-height:48px;padding:0 18px;border:0;border-radius:12px;background:var(--gf-verde);color:#fff;font:800 15px/1 inherit;cursor:pointer;flex:0 0 auto}
.gf-viagem .gv-kwh small{font-size:13px;color:var(--gf-sub)}
.gf-viagem .gv-ev-lacuna{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;padding:11px 13px;border-radius:12px;background:#fff0e3;border:1px solid #f5a25c;font-size:14px;line-height:1.45}
.gf-viagem .gv-ev-lacuna svg{width:22px;height:22px;flex:none;fill:none;stroke:#c25400;stroke-width:2}
.gf-viagem .gv-l--ev .gv-l-ic{background:#22a94f}
.gf-viagem .gv-l--ev .gv-l-ic svg{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gf-viagem .gv-ev-pot{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:#e3f6ea;color:#137a37;font-size:12.5px;font-weight:800}
[data-theme="dark"] .gf-viagem .gv-ev-lacuna{background:#3a2a16;border-color:#7a4a1a}
.gf-viagem .gv-mk--ev{background:#22a94f;width:32px;height:32px}
/* 0.23.1: "Ir até aqui com" numa linha e os dois botões lado a lado, iguais, no celular */
@media (max-width:600px){
  .gf-viagem .gv-nav:not(.gv-nav--mini){flex-wrap:wrap;gap:8px}
  .gf-viagem .gv-nav:not(.gv-nav--mini)::before{flex:1 1 100%}
  .gf-viagem .gv-nav:not(.gv-nav--mini) .gv-nav-b{flex:1 1 0;justify-content:center;padding:6px 10px;border:1px solid var(--gf-linha);border-radius:14px;background:var(--gf-card)}
  .gf-viagem .gv-kwh button{flex:1 1 100%}
}
