.route-hub-intro{max-width:1000px}.route-hub-intro .lead{max-width:850px;white-space:pre-line}
.route-hub-concepts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:12px 68px}
.route-hub-concept{position:relative;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #dce6e0;border-radius:18px;padding:clamp(26px,4vw,46px);min-width:0;background:#f6faf6}
.route-hub-concept-itinerary{background:#f9f7f0;border-color:#ebe5d5}
.route-hub-concept h2{font-size:clamp(25px,3vw,38px);line-height:1.2;margin:16px 0}
.route-hub-concept p{flex:1;line-height:1.8;margin:0 0 25px}
.route-hub-label{display:block;font-size:.76rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#527166}
.route-hub-highlights{margin-bottom:70px}.route-hub-highlights>h2{margin:5px 0 12px}
.route-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.route-hub-card{border:1px solid #dde4df;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;min-width:0;background:white}
.route-hub-picture{display:block;aspect-ratio:8/5;overflow:hidden}.route-hub-picture img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.route-hub-picture:hover img{transform:scale(1.035)}
.route-hub-card-content{padding:23px 24px 5px;flex:1}.route-hub-card h3{margin:12px 0;font-size:1.32rem;line-height:1.35}
.route-hub-card h3 a{color:inherit;text-decoration:none}.route-hub-card h3 a:hover{text-decoration:underline}
.route-hub-card-content p{line-height:1.75;margin:0 0 20px}.route-hub-cta{display:inline-flex;gap:8px;align-items:center;font-weight:700;margin-bottom:20px}
.route-hub-credit{padding:0 24px 20px;margin:0;font-size:.75rem;color:#64716b;line-height:1.5}
@media(max-width:850px){.route-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.route-hub-concepts,.route-hub-grid{grid-template-columns:minmax(0,1fr)}.route-hub-concepts{margin-bottom:48px}}
@media(prefers-reduced-motion:reduce){.route-hub-picture img{transition:none}}

/* ROTAS_ROTEIROS_V2_VISUAL */
/* Card inteiro em um unico link; sem seta ou credito aparente. */
.route-hub-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.route-hub-card:hover{transform:translateY(-4px);box-shadow:0 13px 30px rgba(25,58,45,.11);border-color:#b9cec0}
.route-hub-card-link{display:flex;flex:1;min-height:100%;flex-direction:column;color:inherit!important;text-decoration:none!important;cursor:pointer}
.route-hub-card-link:hover,.route-hub-card-link:focus,.route-hub-card-link:visited{text-decoration:none!important;color:inherit!important}
.route-hub-card-link:focus-visible{outline:3px solid #9a6e18;outline-offset:-4px;border-radius:17px}
.route-hub-card .route-hub-picture{display:block;flex:none}
.route-hub-card-link:hover .route-hub-picture img,.route-hub-card-link:focus-visible .route-hub-picture img{transform:scale(1.035)}
.route-hub-card .route-hub-card-content{display:flex;flex-direction:column;flex:1;padding:24px 25px 25px}
.route-hub-card .route-hub-card-title{display:block;font-family:var(--serif,Georgia,serif);font-size:clamp(1.4rem,1.9vw,1.8rem);line-height:1.3;color:var(--ink,#1d4034);margin:12px 0}
.route-hub-card .route-hub-description{display:block;line-height:1.75;margin:0 0 23px;font-size:1rem}
.route-hub-card .route-hub-cta{display:block;margin-top:auto;margin-bottom:0;font-weight:700;text-decoration:none!important;color:var(--ink,#173d30)}
/* Cards do catalogo /rotas/. Demais catalogos permanecem como estao. */
.route-v2-catalog-card{border-radius:16px;background:#fff;padding:30px;min-height:185px;box-shadow:0 3px 14px rgba(20,55,39,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.route-v2-catalog-card:hover{transform:translateY(-3px);background:#fff;box-shadow:0 11px 25px rgba(20,55,39,.11);border-color:#b5cbbd}
.route-v2-catalog-card:focus-visible{outline:3px solid #9a6e18;outline-offset:3px}
.route-v2-catalog-card h3{font-size:clamp(1.75rem,2.25vw,2.1rem);line-height:1.2;margin:0 0 18px;color:var(--ink,#193c31)}
.route-v2-catalog-card .card-bottom{font-size:1.0625rem;line-height:1.7;align-items:start;display:block;color:var(--muted,#52625a);margin-top:0}
/* Pagina individual da rota: apenas nomes de municipios, com espacamento. */
.route-v2-municipalities{margin-top:48px}
.route-v2-municipalities h2{margin-bottom:22px}
.route-v2-municipality-list{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:14px}
.route-v2-municipality-list li{margin:0;padding:0;min-width:0}
.route-v2-municipality-list a{display:block;border-bottom:1px solid #d9e3dc;padding:11px 5px 13px;color:var(--ink,#1c3d33);font-size:1.04rem;line-height:1.55;text-decoration:none;transition:color .15s ease,border-color .15s ease}
.route-v2-municipality-list a:hover{color:#35644c;border-color:#35644c;text-decoration:underline;text-underline-offset:4px}
.route-v2-municipality-list a:focus-visible{outline:3px solid #9a6e18;outline-offset:2px}
@media(max-width:650px){.route-v2-municipality-list{grid-template-columns:minmax(0,1fr);row-gap:8px}.route-v2-catalog-card{padding:24px}.route-v2-catalog-card .card-bottom{font-size:1rem}.route-hub-card .route-hub-card-content{padding:22px}}
@media(prefers-reduced-motion:reduce){.route-hub-card,.route-v2-catalog-card,.route-hub-card .route-hub-picture img{transition:none!important}.route-hub-card:hover,.route-v2-catalog-card:hover{transform:none!important}}
