
/* =========================================================
   GUIA MIGRANTE PT — V9 TODOS OS PERCURSOS
   ========================================================= */
.route-hero{
  padding:58px 0 38px;
  background:
    radial-gradient(circle at 88% 10%,rgba(5,114,68,.11),transparent 27%),
    radial-gradient(circle at 72% 3%,rgba(9,49,92,.08),transparent 22%),
    linear-gradient(180deg,#fff 0%,#f7faf9 100%);
}
.route-breadcrumbs{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:.74rem;margin-bottom:13px}
.route-breadcrumbs a{color:#057244;font-weight:850}
.route-kicker{
  display:inline-flex;align-items:center;
  padding:7px 10px;border:1px solid #b9dece;background:#eef8f3;color:#006939;
  border-radius:999px;font-size:.69rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase
}
.route-hero h1{
  margin:13px 0 0;color:#032954;max-width:950px;
  font-size:clamp(2.25rem,9vw,4.6rem);line-height:1;letter-spacing:-.052em
}
.route-hero h1 span{color:#057244}
.route-hero p{margin:16px 0 0;max-width:850px;color:var(--muted);font-size:.94rem;line-height:1.65}
.route-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.route-meta span{padding:7px 9px;border:1px solid var(--line);background:white;border-radius:999px;color:#526273;font-size:.68rem;font-weight:800}

.route-section{padding:54px 0}
.route-section.white{background:#fff}
.route-head{margin-bottom:22px}
.route-label{display:block;color:#057244;font-size:.69rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}
.route-head h2{margin:0;color:#032954;font-size:clamp(1.8rem,7vw,2.7rem);line-height:1.05;letter-spacing:-.04em}
.route-head p{margin:9px 0 0;color:var(--muted);max-width:820px;font-size:.84rem;line-height:1.62}
.route-grid{display:grid;gap:12px}
.route-grid.two,.route-grid.three{grid-template-columns:1fr}
.route-card{
  border:1px solid var(--line);background:white;border-radius:17px;padding:18px;
  box-shadow:0 9px 26px rgba(3,41,84,.055)
}
.route-section.white .route-card{background:#f8fbfa}
.route-card h2,.route-card h3{margin:0;color:#032954;letter-spacing:-.025em}
.route-card h2{font-size:1.28rem}.route-card h3{font-size:.98rem}
.route-card p,.route-card li{color:var(--muted);font-size:.79rem;line-height:1.62}
.route-card p{margin:8px 0 0}
.route-card ul,.route-card ol{padding-left:19px;margin:10px 0 0}
.route-card li+li{margin-top:5px}
.route-card a{color:#057244;font-weight:850}
.route-num{
  width:36px;height:36px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(145deg,#09315c,#057244);color:#fff;
  font-weight:900;font-size:.7rem;margin-bottom:11px
}
.route-callout{
  margin-top:14px;border:1px solid #b9dece;background:#eef8f3;color:#174c38;
  border-radius:14px;padding:14px;font-size:.78rem;line-height:1.58
}
.route-warning{
  margin-top:14px;border:1px solid #fed7aa;background:#fff7ed;color:#7c2d12;
  border-radius:14px;padding:14px;font-size:.78rem;line-height:1.58
}
.route-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.route-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:10px 13px;border-radius:11px;border:1px solid var(--line);
  font-size:.75rem;font-weight:900
}
.route-btn.primary{border:0;background:linear-gradient(135deg,#09315c,#057244);color:#fff}
.route-btn.secondary{background:white;color:#057244}
.route-source{display:inline-flex;min-height:34px;align-items:center;margin-top:10px;color:#057244;font-size:.72rem;font-weight:900}

.route-hub-grid{display:grid;gap:10px}
.route-hub-card{
  border:1px solid var(--line);background:white;border-radius:15px;padding:15px;
  display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;
  text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.route-hub-card:hover{transform:translateY(-2px);border-color:#b9dece;box-shadow:0 10px 26px rgba(3,41,84,.07)}
.route-hub-icon{
  width:41px;height:41px;border-radius:12px;background:#eef8f3;color:#057244;
  display:grid;place-items:center;font-size:.75rem;font-weight:950
}
.route-hub-card strong{display:block;color:#032954;font-size:.8rem}
.route-hub-card span{display:block;color:var(--muted);font-size:.7rem;margin-top:2px;line-height:1.4}
.route-hub-card .arrow{color:#94a3b8;font-size:1.1rem}

.route-filter{
  border:1px solid var(--line);background:white;border-radius:17px;padding:18px;
  box-shadow:0 9px 26px rgba(3,41,84,.05)
}
.route-filter-grid{display:grid;gap:11px}
.route-field{display:grid;gap:6px}
.route-field label{color:#032954;font-size:.77rem;font-weight:850}
.route-field select{
  width:100%;min-height:44px;border:1px solid var(--line);background:#fff;color:var(--text);
  border-radius:10px;padding:9px 11px
}
.route-match{display:none;margin-top:14px}
.route-match.show{display:block}
.route-match-card{
  border:1px solid #b9dece;background:#eef8f3;border-radius:14px;padding:14px
}
.route-match-card strong{display:block;color:#032954;font-size:.9rem}
.route-match-card p{margin:5px 0 0;color:#526a5e;font-size:.75rem;line-height:1.55}

.route-related{display:grid;gap:9px}
.route-related a{
  border:1px solid var(--line);background:white;border-radius:12px;padding:11px;
  color:#032954;font-size:.76rem;font-weight:850
}
.route-related a:hover{background:#eef8f3;color:#057244;border-color:#b9dece}

/* broader nav after adding Percursos */
@media(min-width:900px){
  .desktop-nav a{padding-left:8px !important;padding-right:8px !important;font-size:.82rem !important}
}
@media(min-width:720px){
  .route-grid.two{grid-template-columns:1fr 1fr}
  .route-grid.three{grid-template-columns:repeat(3,1fr)}
  .route-hub-grid{grid-template-columns:1fr 1fr}
  .route-filter-grid{grid-template-columns:1fr 1fr}
}
@media(min-width:1050px){
  .route-hub-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:520px){
  .route-hub-card{grid-template-columns:38px 1fr auto;padding:12px}
  .route-hub-icon{width:37px;height:37px}
}
