.gvi-mapa{--gvi-deep:#033347;--gvi-blue:#1589c1;--gvi-orange:#f7a338;--gvi-ice:#f2f8fa;color:var(--gvi-deep);font-family:inherit;width:100%;max-width:100%;min-width:0}
.gvi-mapa *{box-sizing:border-box}.gvi-mapa-head{margin-bottom:15px}.gvi-mapa-head h2{font-size:clamp(23px,3vw,33px);font-weight:750;margin:0 0 5px;color:var(--gvi-deep)}.gvi-mapa-head p{font-size:14px;margin:0;color:#607981}
.gvi-map-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:17px;background:var(--gvi-ice);border:1px solid #d8e8ed;border-radius:15px;margin-bottom:12px}
.gvi-map-filters label{display:flex;flex-direction:column;font-size:12px;gap:6px;font-weight:650;color:var(--gvi-deep);min-width:0}.gvi-map-filters select{width:100%;min-width:0;height:43px;border:1px solid #c8dce4;background:white;color:var(--gvi-deep);border-radius:9px;padding:0 10px;font-size:13px}
.gvi-map-actions{display:flex;gap:9px;grid-column:1/-1;flex-wrap:wrap;align-items:center}.gvi-map-actions button{cursor:pointer;border-radius:9px;padding:11px 14px;font-size:13px;font-weight:700;border:1px solid #b7d2db;background:#fff;color:var(--gvi-deep)}.gvi-map-actions .gvi-map-submit{background:var(--gvi-orange);color:var(--gvi-deep);border-color:var(--gvi-orange)}.gvi-map-actions .gvi-map-nearme{background:var(--gvi-blue);color:#fff;border-color:var(--gvi-blue)}
.gvi-map-notice{font-size:13px;color:#58717c;min-height:25px}.gvi-map-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,1fr);gap:13px;align-items:stretch;min-width:0}.gvi-map-canvas{width:100%;height:540px;min-height:340px;border:1px solid #d6e5e9;border-radius:13px;overflow:hidden;z-index:0;background:#e6f1f4}.gvi-map-results{height:540px;min-width:0;overflow-y:auto;background:white;border:1px solid #d6e5e9;border-radius:13px;padding:14px}.gvi-map-results h3{font-size:17px;margin:0 0 12px;color:var(--gvi-deep)}.gvi-map-items{display:grid;gap:9px}.gvi-map-result{border:1px solid #d6e5e9;background:#fff;border-radius:10px;padding:12px;text-align:left;width:100%;cursor:pointer;color:var(--gvi-deep)}.gvi-map-result:hover,.gvi-map-result:focus{border-color:var(--gvi-blue);background:var(--gvi-ice)}.gvi-map-result strong{display:block;line-height:1.35;font-size:14px;margin:3px 0}.gvi-map-result small{display:block;font-size:12px;color:#617784}.gvi-map-result .gvi-type{font-size:10px;color:var(--gvi-blue);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.gvi-map-footnote{font-size:12px;margin:10px 0 0;color:#627985;line-height:1.5}.gvi-map-popup{max-width:220px}.gvi-map-popup a{color:#0b80b8;font-weight:700}.gvi-map-result-empty{font-size:13px;color:#607981}
@media(max-width:1024px){.gvi-map-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.gvi-map-layout{grid-template-columns:minmax(0,1.45fr) minmax(240px,1fr)}}
@media(max-width:767px){.gvi-map-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.gvi-map-layout{grid-template-columns:1fr}.gvi-map-canvas{height:410px}.gvi-map-results{height:auto;max-height:360px}.gvi-map-actions button{flex:1 1 auto}}
@media(max-width:420px){.gvi-map-filters{grid-template-columns:1fr}.gvi-map-canvas{height:340px}.gvi-map-actions{display:grid;grid-template-columns:1fr}.gvi-map-actions button{width:100%}}
/* v1.1: busca manual por local e botão ao lado do campo */
.gvi-map-place{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.gvi-map-place label{min-width:0}.gvi-map-place input{width:100%;height:43px;min-width:0;padding:0 12px;font-size:13px;color:var(--gvi-deep);background:#fff;border:1px solid #c8dce4;border-radius:9px}
.gvi-map-place button{height:43px;white-space:nowrap;padding:0 17px;background:var(--gvi-deep);color:#fff;border:0;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer}
.gvi-map-place button:disabled{opacity:.6;cursor:wait}
.gvi-map-center-status{grid-column:1/-1;font-size:12px;color:#56727e;line-height:1.5}
@media(max-width:600px){.gvi-map-place{grid-template-columns:1fr}.gvi-map-place button{width:100%}}

.gvi-mapa .gvi-map-suggestion{display:block;max-width:100%;margin:8px 0 0;padding:9px 12px;border:1px solid #1589C1;border-radius:8px;background:#eef6f8;color:#033347;text-align:left;font-weight:700;cursor:pointer}.gvi-mapa .gvi-map-suggestion[hidden]{display:none!important}

/* GVI v1.4.2: seleção explícita de resultados e coordenadas manuais */
.gvi-map-candidates,.gvi-map-coordinate-box{margin:12px 0;padding:12px;border:1px solid rgba(21,137,193,.24);border-radius:12px;background:#f2f8fa;color:#033347;display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.gvi-map-candidates[hidden],.gvi-map-suggestion[hidden]{display:none!important}
.gvi-map-candidates label,.gvi-map-coordinate-box label{flex:1 1 270px;font-size:13px;font-weight:600}
.gvi-map-candidate-select,.gvi-map-coordinates{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #b5cbd4;border-radius:7px;background:#fff;color:#033347}
.gvi-map-candidate-confirm,.gvi-map-apply-coordinates{padding:11px 14px;border:0;border-radius:8px;background:#1589c1;color:#fff;font-weight:700;cursor:pointer}

.gvi-map-verify-link:not([hidden]){display:inline-block;margin:.5rem 0;padding:.65rem .85rem;color:#033347;background:#f9ecce;border-radius:8px;text-decoration:underline;font-weight:600}.gvi-map-verify-link[hidden]{display:none!important}

.gvi-mapa-local{width:100%;min-height:220px;overflow:hidden;border-radius:13px;background:#f2f8fa;border:1px solid #d6e5e9;z-index:0}.gvi-single-map-missing{color:#607981;font-size:13px}

/* v1.6.2: contexto de categoria fixa em arquivos JetEngine */
.gvi-map-fixed-term{grid-column:1/-1;padding:10px 13px;border-radius:9px;background:#e5f4f9;border:1px solid #c4e4f0;color:#033347;font-size:13px;font-weight:700}
.gvi-mapa .gvi-map-filters select:disabled{opacity:.78;background:#e7f1f4;color:#033347;cursor:not-allowed}
.gvi-map-category-message{padding:14px;background:#f2f8fa;border:1px solid #d6e5e9;border-radius:10px;color:#033347}


/* v1.6.3 — layout EXCLUSIVO do shortcode [gvi_mapa_categoria].
   A página Explore o Vale ([gvi_mapa_geral]) não herda estes estilos. */
.gvi-mapa--categoria .gvi-map-category-grid{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:16px;align-items:start;min-width:0}
.gvi-mapa--categoria .gvi-map-category-sidebar{min-width:0;max-width:100%;border:1px solid #d8e8ed;border-radius:15px;background:#fff;padding:14px;overflow:hidden}
.gvi-mapa--categoria .gvi-map-category-filter-title{font-size:16px;font-weight:750;color:#033347;margin:0 0 10px}
.gvi-mapa--categoria .gvi-map-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;margin:0 0 10px;border-radius:12px}
.gvi-mapa--categoria .gvi-map-filters label{font-size:11px;gap:4px;line-height:1.3}
.gvi-mapa--categoria .gvi-map-filters select{height:36px;padding:0 7px;font-size:12px;border-radius:7px}
.gvi-mapa--categoria .gvi-map-place{grid-template-columns:1fr;gap:7px}
.gvi-mapa--categoria .gvi-map-place input{height:37px;font-size:12px;padding:0 9px}
.gvi-mapa--categoria .gvi-map-place button{height:35px;font-size:12px;padding:0 10px;width:100%;white-space:normal}
.gvi-mapa--categoria .gvi-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.gvi-mapa--categoria .gvi-map-actions button{font-size:11px;padding:8px 6px;line-height:1.35}
.gvi-mapa--categoria .gvi-map-actions .gvi-map-submit{grid-column:1/-1}
.gvi-mapa--categoria .gvi-map-fixed-term{grid-column:1/-1;font-size:12px;padding:8px 10px}
.gvi-mapa--categoria .gvi-map-center-status{font-size:11px}
.gvi-mapa--categoria .gvi-map-notice{font-size:11px;min-height:0;margin:9px 0;line-height:1.4}
.gvi-mapa--categoria .gvi-map-suggestion{font-size:11px;padding:8px}
.gvi-mapa--categoria .gvi-map-candidates,.gvi-mapa--categoria .gvi-map-coordinate-box{padding:9px;gap:7px}
.gvi-mapa--categoria .gvi-map-candidates label,.gvi-mapa--categoria .gvi-map-coordinate-box label{flex-basis:100%;font-size:11px}
.gvi-mapa--categoria .gvi-map-candidate-confirm,.gvi-mapa--categoria .gvi-map-apply-coordinates{font-size:12px;padding:9px}
.gvi-mapa--categoria .gvi-map-results{height:auto;max-height:460px;overflow-y:auto;border:0;border-top:1px solid #dceaf0;border-radius:0;padding:12px 0 0;background:#fff}
.gvi-mapa--categoria .gvi-map-results h3{font-size:15px;margin-bottom:9px}
.gvi-mapa--categoria .gvi-map-items{gap:7px}
.gvi-mapa--categoria .gvi-map-result{padding:9px;border-radius:9px}
.gvi-mapa--categoria .gvi-map-result strong{font-size:12px}
.gvi-mapa--categoria .gvi-map-result small{font-size:11px}
.gvi-mapa--categoria .gvi-map-category-map{min-width:0;position:sticky;top:24px}
.gvi-mapa--categoria .gvi-map-canvas{height:760px;min-height:540px;width:100%;border-radius:15px}
.gvi-mapa--categoria .gvi-map-footnote{font-size:11px}
@media(max-width:1024px){
 .gvi-mapa--categoria .gvi-map-category-grid{gap:10px}
 .gvi-mapa--categoria .gvi-map-category-sidebar{padding:10px}
 .gvi-mapa--categoria .gvi-map-filters{grid-template-columns:1fr}
 .gvi-mapa--categoria .gvi-map-canvas{height:690px;min-height:480px}
}
@media(max-width:767px){
 .gvi-mapa--categoria .gvi-map-category-grid{grid-template-columns:minmax(0,1fr)}
 .gvi-mapa--categoria .gvi-map-category-map{position:relative;top:auto}
 .gvi-mapa--categoria .gvi-map-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gvi-mapa--categoria .gvi-map-results{max-height:310px}
 .gvi-mapa--categoria .gvi-map-canvas{height:440px;min-height:350px}
}
@media(max-width:420px){.gvi-mapa--categoria .gvi-map-filters{grid-template-columns:1fr}.gvi-mapa--categoria .gvi-map-canvas{height:360px}}

/* v1.6.4: manter títulos legíveis sob estilos globais do Elementor, inclusive hover/focus/active. */
.gvi-mapa .gvi-map-result,
.gvi-mapa .gvi-map-result:hover,
.gvi-mapa .gvi-map-result:focus,
.gvi-mapa .gvi-map-result:active{color:#033347!important}
.gvi-mapa .gvi-map-result strong,
.gvi-mapa .gvi-map-result:hover strong,
.gvi-mapa .gvi-map-result:focus strong,
.gvi-mapa .gvi-map-result:active strong{color:#111827!important;-webkit-text-fill-color:#111827!important}
.gvi-mapa .gvi-map-result:hover small,
.gvi-mapa .gvi-map-result:focus small{color:#516876!important}
.gvi-mapa .gvi-map-result:hover .gvi-type,
.gvi-mapa .gvi-map-result:focus .gvi-type{color:#1589c1!important}


/* v1.6.6 — categorias: filtros compactos na lateral, mapa sempre à direita.
   Escopo restrito às páginas de categorias. Explore o Vale não é afetado. */
.gvi-mapa.gvi-mapa--categoria .gvi-map-category-grid{display:grid!important;grid-template-columns:minmax(0,35fr) minmax(0,65fr)!important;align-items:start!important;gap:14px!important;width:100%!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-category-sidebar{grid-column:1!important;min-width:0!important;width:auto!important;padding:12px!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-category-map{grid-column:2!important;min-width:0!important;width:auto!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:10px!important;min-width:0!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-filters>label{min-width:0!important;margin:0!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-filters>label:has(select[name="city"]){grid-column:1/-1}
.gvi-mapa.gvi-mapa--categoria .gvi-map-filters>label:has(select[name="radius"]){grid-column:1/-1}
.gvi-mapa.gvi-mapa--categoria .gvi-map-filters>.gvi-map-place,.gvi-mapa.gvi-mapa--categoria .gvi-map-filters>.gvi-map-center-status,.gvi-mapa.gvi-mapa--categoria .gvi-map-filters>.gvi-map-actions,.gvi-mapa.gvi-mapa--categoria .gvi-map-filters>.gvi-map-fixed-term{grid-column:1/-1!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-extra-filters{grid-column:1/-1;min-width:0;border:1px solid #c8dfe7;border-radius:9px;background:#fff;overflow:hidden}
.gvi-mapa.gvi-mapa--categoria .gvi-map-extra-filters summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:6px;list-style:none;padding:9px 11px;color:#033347;font-weight:750;font-size:12px}
.gvi-mapa.gvi-mapa--categoria .gvi-map-extra-filters summary::-webkit-details-marker{display:none}
.gvi-mapa.gvi-mapa--categoria .gvi-map-extra-filters summary::before{content:'+';font-size:16px;color:#1589c1;font-weight:800}
.gvi-mapa.gvi-mapa--categoria .gvi-map-extra-filters[open] summary::before{content:'−'}
.gvi-mapa.gvi-mapa--categoria .gvi-map-extra-filters summary span{font-size:10px;font-weight:450;color:#66818d}
.gvi-mapa.gvi-mapa--categoria .gvi-map-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid #dbe9ee;padding:10px}
.gvi-mapa.gvi-mapa--categoria .gvi-map-extra-grid label{font-size:11px;min-width:0;display:flex;flex-direction:column;gap:5px}
.gvi-mapa.gvi-mapa--categoria .gvi-map-extra-grid select{max-width:100%;width:100%;height:36px;font-size:12px}
.gvi-mapa.gvi-mapa--categoria .gvi-map-place{grid-template-columns:1fr!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-place input{width:100%!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-actions .gvi-map-submit{grid-column:1/-1}
.gvi-mapa.gvi-mapa--categoria .gvi-map-results{max-height:490px;overflow-y:auto}
.gvi-mapa.gvi-mapa--categoria .gvi-map-canvas{min-height:550px;height:760px}
@media(max-width:767px){
.gvi-mapa.gvi-mapa--categoria .gvi-map-category-grid{grid-template-columns:minmax(0,1fr)!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-category-sidebar,.gvi-mapa.gvi-mapa--categoria .gvi-map-category-map{grid-column:1!important}
.gvi-mapa.gvi-mapa--categoria .gvi-map-canvas{height:430px;min-height:330px}
}
@media(max-width:380px){.gvi-mapa.gvi-mapa--categoria .gvi-map-extra-grid{grid-template-columns:1fr}}
