/* LIQUELSEN LOCOMOCAO V4 — visual editorial de viagem.
 * Somente dialog V3 e legenda nacional em rota municipal.
 * Nenhum controle de reservas, economia ou tempo e alterado.
 */
#mapa:has(.map-canvas > iframe[title="Mapa municipal"][style*="display: block"]) .atlas-map-legend-toggle-national,
#mapa:has(.map-canvas > iframe[title="Mapa municipal"][style*="display: block"]) .atlas-map-legend-national {
  display: none !important;
}

dialog.liq-locomotion-modal.liq-loco-v3.liq-loco-v4 {
  --v4-text: #f3f8ff;
  --v4-sub: #a9bfce;
  --v4-blue: #46d8ea;
  --v4-border: rgba(125,180,208,.22);
  --v4-glass: rgba(11,32,49,.92);
  width: min(1320px, calc(100vw - 28px));
  max-width: 1320px;
  max-height: min(94dvh, 1020px);
  color: var(--v4-text);
  background: #06131f;
  border: 1px solid #335468;
  border-radius: 22px;
  box-shadow: 0 35px 120px rgba(0,0,0,.76), 0 0 0 1px rgba(145,218,244,.06) inset;
  font-family: 'Segoe UI', Inter, system-ui, sans-serif;
  font-size: 14px;
}
.liq-loco-v4 .liq-v3-head {
  isolation: isolate;
  overflow: hidden;
  position: relative;
  padding: 32px 38px 55px;
  min-height: 177px;
  border: 0;
  background:
    radial-gradient(ellipse at 84% 42%, rgba(25,176,198,.23), transparent 40%),
    linear-gradient(112deg, #0e3448 1%, #071f36 55%, #061422 100%);
}
.liq-loco-v4 .liq-v3-head::before {
  content: '';
  position: absolute;
  z-index: -1;
  width: 515px;
  height: 515px;
  right: -88px;
  top: -250px;
  border: 1px solid rgba(102,219,239,.23);
  box-shadow: 0 0 0 70px rgba(100,201,233,.045), 0 0 0 144px rgba(100,201,233,.025), 0 0 45px rgba(35,173,218,.08);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(4,78,118,.18), transparent 58%);
}
.liq-loco-v4 .liq-v3-head::after {
  content: '✦  ELSEN  /  REDE NACIONAL';
  position: absolute;
  right: 98px;
  bottom: 34px;
  font-size: 10px;
  letter-spacing: .21em;
  color: rgba(167,233,241,.60);
  font-weight: 700;
}
.liq-loco-v4 .liq-v3-eyebrow {
  font: 800 11px/1.3 'Segoe UI',system-ui,sans-serif;
  letter-spacing: .23em;
  color: #5bf0df;
}
.liq-loco-v4 .liq-v3-intro h2 {
  margin: 13px 0 9px;
  font-size: clamp(31px,3vw,45px);
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -.048em;
  color: white;
}
.liq-loco-v4 .liq-v3-intro p {
  font-size: 13px;
  line-height: 1.55;
  max-width: 640px;
  color: #c7dfec;
}
.liq-loco-v4 .liq-v3-close {
  border-radius: 50%;
  width: 41px;
  height: 41px;
  background: rgba(6,24,38,.65);
  border: 1px solid rgba(174,231,243,.40);
  color: #f6ffff;
  backdrop-filter: blur(5px);
}
.liq-loco-v4 .liq-v3-scroll {
  position: relative;
  padding: 0 32px 30px;
  margin-top: -29px;
  overflow-y: auto;
  scrollbar-color: #2d7084 transparent;
}
.liq-loco-v4 .liq-v3-search {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr);
  gap: 13px;
  padding: 19px;
  align-items: end;
  background: linear-gradient(155deg, rgba(14,47,67,.98), rgba(10,31,49,.99));
  border: 1px solid rgba(85,191,214,.36);
  border-radius: 15px;
  box-shadow: 0 17px 45px rgba(0,0,0,.30), inset 0 1px rgba(255,255,255,.06);
}
.liq-loco-v4 .liq-v3-field-label {
  color: #9ebdcc;
  font: 750 11px/1.3 system-ui,sans-serif;
  letter-spacing: .12em;
}
.liq-loco-v4 .liq-v3-field {
  gap: 9px;
}
.liq-loco-v4 .liq-v3-field select,
.liq-loco-v4 .liq-v3-field input {
  background: #071b2b;
  border: 1px solid #38657b;
  border-radius: 9px;
  min-height: 52px;
  padding: 12px 15px;
  color: #ffffff;
  font: 700 14px/1.2 system-ui,sans-serif;
  box-shadow: 0 1px 0 rgba(255,255,255,.04) inset;
}
.liq-loco-v4 .liq-v3-field select:hover,
.liq-loco-v4 .liq-v3-field input:hover {border-color:#6e9fae;}
.liq-loco-v4 .liq-v3-field select:focus-visible,
.liq-loco-v4 .liq-v3-field input:focus-visible {outline: 2px solid #65dce9; outline-offset: 1px;}
.liq-loco-v4 .liq-v3-swap {
  height: 48px;
  min-width: 48px;
  align-self: end;
  margin-bottom: 2px;
  border: 1px solid rgba(106,232,234,.55);
  border-radius: 50%;
  background: #0b3b4c;
  color: #bffff6;
  box-shadow: 0 0 0 5px rgba(62,198,220,.055);
}
.liq-loco-v4 .liq-v3-swap:hover {transform:rotate(180deg); transition:transform .25s ease,background .2s ease;}
.liq-loco-v4 .liq-v3-modes {
  gap: 8px;
  padding: 22px 1px 20px;
  overflow-x: auto;
}
.liq-loco-v4 .liq-v3-modes button {
  min-width: 100px;
  padding: 12px 16px;
  border-radius: 10px;
  border-color: #2b5267;
  background: #0a2436;
  font: 750 13px/1.15 system-ui,sans-serif;
  color: #bdd0db;
}
.liq-loco-v4 .liq-v3-modes button[aria-pressed="true"] {
  color: #08232b;
  border-color: #77f2e2;
  background: linear-gradient(120deg,#77e7dc,#35b6d9);
  box-shadow: 0 5px 19px rgba(21,186,199,.22);
}
.liq-loco-v4 .liq-v3-layout {
  grid-template-columns: minmax(0,1fr) 290px;
  gap: 22px;
}
.liq-loco-v4 .liq-v3-results-head {margin: 0 0 16px;align-items: end;}
.liq-loco-v4 .liq-v3-results-head h3 {
  margin: 0 0 5px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 770;
  letter-spacing: -.035em;
  color:#fff;
}
.liq-loco-v4 .liq-v3-results-head p {font-size:12px;color:var(--v4-sub);line-height:1.55;}
.liq-loco-v4 .liq-v3-refresh {
  background: transparent;
  border: 1px solid #31566d;
  border-radius: 8px;
  color: #a7e7ed;
  min-height: 38px;
  padding: 8px 14px;
  font-weight: 700;
}
.liq-loco-v4 .liq-v3-results {gap: 13px;}
.liq-loco-v4 .liq-v3-card {
  position:relative;
  overflow:hidden;
  border: 1px solid rgba(111,171,204,.23);
  border-radius: 14px;
  background: linear-gradient(110deg,rgba(14,41,60,.95),rgba(7,28,43,.97));
  box-shadow: 0 9px 25px rgba(0,0,0,.15), inset 0 1px rgba(255,255,255,.028);
  transition: background .14s ease,border-color .14s ease,transform .14s ease;
}
.liq-loco-v4 .liq-v3-card::before {
  content: '';
  position:absolute;
  top:0;bottom:0;left:0;
  width:3px;
  background:linear-gradient(#4dcfe3,#15518b);
}
.liq-loco-v4 .liq-v3-card:hover {
  border-color:#5ba3bd;
  background:linear-gradient(110deg,#113a51,#08253b);
  transform:translateY(-1px);
}
.liq-loco-v4 .liq-v3-card-main {
  grid-template-columns: minmax(0,1.12fr) 100px minmax(0,.95fr);
  gap: 12px;
  min-height: 115px;
  padding: 20px 22px 16px 26px;
}
.liq-loco-v4 .liq-v3-station strong {
  font: 820 29px/1.1 system-ui,sans-serif;
  color:#fff;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.03em;
}
.liq-loco-v4 .liq-v3-station span {font: 600 12px/1.4 system-ui,sans-serif;color:#d1e2ec;}
.liq-loco-v4 .liq-v3-station-arrive strong {color:#c8ecf3;}
.liq-loco-v4 .liq-v3-line {gap:5px;color:#5eebdf;align-items:center;}
.liq-loco-v4 .liq-v3-line-mode {font-size:19px;}
.liq-loco-v4 .liq-v3-line-bar {border-top:2px dashed rgba(73,206,214,.66);}
.liq-loco-v4 .liq-v3-duration {color:#8dbccc;font-size:10px;line-height:1.2;}
.liq-loco-v4 .liq-v3-card-meta {
  gap:11px;
  padding:13px 20px 13px 26px;
  border-top:1px solid rgba(97,169,198,.13);
  background:rgba(3,18,32,.54);
}
.liq-loco-v4 .liq-v3-operator b {font-size:12px;color:#dff5fb;}
.liq-loco-v4 .liq-v3-operator small {font-size:11px;color:#8daebe;}
.liq-loco-v4 .liq-v3-service-status {
  border:1px solid rgba(83,210,175,.35);
  background:rgba(23,124,103,.17);
  color:#9eefd5;
  padding:7px 11px;
  font-size:11px;
}
.liq-loco-v4 .liq-v3-card-details {
  min-height:36px;
  border:1px solid #3b8494;
  border-radius:8px;
  padding:8px 14px;
  background:#0d3e55;
  color:#dffcff;
  font:750 12px/1.1 system-ui,sans-serif;
}
.liq-loco-v4 .liq-v3-card-extra {background:rgba(16,56,70,.45);border-top-color:#326177;padding:13px 24px;}
.liq-loco-v4 .liq-v3-sidebar {gap:15px;}
.liq-loco-v4 .liq-v3-filter,
.liq-loco-v4 .liq-v3-external {
  background:linear-gradient(165deg,#102b3d,#081f31);
  border:1px solid var(--v4-border);
  border-radius:13px;
  padding:20px 18px;
}
.liq-loco-v4 .liq-v3-filter summary {
  font:800 15px/1.3 system-ui,sans-serif;
  color:#e9faff;
}
.liq-loco-v4 .liq-v3-filter-fields {padding-top:22px;gap:18px;}
.liq-loco-v4 .liq-v3-reset {min-height:40px;border-radius:8px;background:#0f3a4d;border:1px solid #327c8b;}
.liq-loco-v4 .liq-v3-external h3 {font-size:15px;}
.liq-loco-v4 .liq-v3-external p {font-size:11px;line-height:1.55;}
.liq-loco-v4 .liq-v3-airport {background:#082337;border:1px solid #26576a;padding:10px 12px;border-radius:9px;}
.liq-loco-v4 .liq-v3-airport b {font-size:12px;}
.liq-loco-v4 .liq-v3-empty {min-height:145px;border-radius:12px;background:#0a2437;}
.liq-loco-v4 .liq-v3-footer {
  border-top:1px solid #244a5e;
  background:#071926;
  padding:14px 29px;
}
.liq-loco-v4 .liq-v3-footer small {font-size:11px;line-height:1.4;}
.liq-loco-v4 .liq-v3-footer button {
  border-radius:8px;
  padding:9px 16px;
  font-size:12px;
  font-weight:750;
  background:#0b3549;
  border:1px solid #326d80;
}
.liq-loco-v4 .liq-v3-footer .liq-v3-board {
  background:linear-gradient(110deg,#096280,#128ba3);
  color:white;
  border-color:#2aa8be;
}
@media(max-width:1000px) {
  .liq-loco-v4 .liq-v3-layout{grid-template-columns:minmax(0,1fr) 252px;gap:14px;}
  .liq-loco-v4 .liq-v3-scroll{padding-left:18px;padding-right:18px;}
  .liq-loco-v4 .liq-v3-card-main{padding:17px 14px 14px 18px;grid-template-columns:minmax(0,1fr) 75px minmax(0,1fr)}
  .liq-loco-v4 .liq-v3-card-meta{padding-left:18px;padding-right:14px;}
}
@media(max-width:860px) {
  dialog.liq-locomotion-modal.liq-loco-v3.liq-loco-v4{width:calc(100vw - 12px);max-height:95dvh;border-radius:15px;}
  .liq-loco-v4 .liq-v3-head{padding:24px 20px 55px;min-height:155px;}
  .liq-loco-v4 .liq-v3-head::after{display:none;}
  .liq-loco-v4 .liq-v3-head::before{width:320px;height:320px;right:-140px;top:-170px;}
  .liq-loco-v4 .liq-v3-intro h2{font-size:31px;}
  .liq-loco-v4 .liq-v3-intro p{font-size:12px;}
  .liq-loco-v4 .liq-v3-scroll{padding:0 14px 20px;margin-top:-30px;}
  .liq-loco-v4 .liq-v3-layout{grid-template-columns:1fr;}
  .liq-loco-v4 .liq-v3-sidebar{order:-1;gap:0;}
  .liq-loco-v4 .liq-v3-external{display:none;}
  .liq-loco-v4 .liq-v3-filter{padding:12px 15px;}
  .liq-loco-v4 .liq-v3-search{padding:15px;gap:8px;}
  .liq-loco-v4 .liq-v3-modes{padding:18px 1px 15px;}
  .liq-loco-v4 .liq-v3-results-head h3{font-size:19px;}
  .liq-loco-v4 .liq-v3-card-main{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);}
  .liq-loco-v4 .liq-v3-footer{padding:12px 15px;}
}
@media(max-width:480px){
  .liq-loco-v4 .liq-v3-head{padding:19px 17px 50px;}
  .liq-loco-v4 .liq-v3-head .liq-v3-intro h2{font-size:29px;}
  .liq-loco-v4 .liq-v3-search{grid-template-columns:minmax(0,1fr) 38px;}
  .liq-loco-v4 .liq-v3-search .liq-v3-field:first-child{grid-column:1;grid-row:1;}
  .liq-loco-v4 .liq-v3-search .liq-v3-swap{grid-column:2;grid-row:1;height:44px;min-width:36px;}
  .liq-loco-v4 .liq-v3-search .liq-v3-field:last-child{grid-column:1/-1;grid-row:2;}
  .liq-loco-v4 .liq-v3-field select{min-height:45px;padding:10px;font-size:13px;}
  .liq-loco-v4 .liq-v3-modes button{min-width:82px;padding:10px 12px;font-size:12px;}
  .liq-loco-v4 .liq-v3-card-main{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);gap:5px;padding:14px 12px 11px 15px;}
  .liq-loco-v4 .liq-v3-station strong{font-size:23px;}
  .liq-loco-v4 .liq-v3-station span{font-size:10px;}
  .liq-loco-v4 .liq-v3-line-mode{font-size:13px;}
  .liq-loco-v4 .liq-v3-line-bar{min-width:4px;}
  .liq-loco-v4 .liq-v3-card-meta{padding:11px 12px 11px 15px;}
  .liq-loco-v4 .liq-v3-card-details{padding:7px 9px;}
  .liq-loco-v4 .liq-v3-service-status{padding:5px 8px;}
  .liq-loco-v4 .liq-v3-footer{flex-wrap:wrap;}
}
@media(prefers-reduced-motion:reduce){.liq-loco-v4 *{transition:none!important;animation:none!important;}}
