/* Guia: acrescentos (pesquisa, mapa, secções, CTA). Não altera nenhum estilo existente. */
.gjs .gsec:not(.on){display:none}
.gcard.gx{display:none}
.gsec.ni .gintro{display:none}
.gsec .gintro{max-width:640px}
.gsearch{max-width:1020px;margin:0 auto}
.gsearch .search{margin-bottom:0}
.gres{max-width:1020px;margin:10px auto 0;padding:0 var(--gut);text-align:center;font-size:14px;color:var(--grey)}
.gmapw{max-width:1020px;margin:12px auto 0;padding:0 var(--gut)}
.gmap-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 18px;border-radius:24px;border:1.5px solid var(--line);background:#fff;color:var(--teal-800);font:600 13.5px var(--f-text);cursor:pointer}
.gmap-toggle:hover{border-color:var(--teal-600)}
.gmap-toggle .ic{width:18px;height:18px}
.gmapw{text-align:center}
.gmap-box{margin-top:12px;text-align:left}
.gmap-box .mapbox{height:340px}
@media (min-width:900px){.gmap-box .mapbox{height:420px}}
.gmap-n{font-size:12px;color:var(--grey);margin:6px 2px 0}
.gcta{max-width:760px;margin:8px auto 28px;padding:24px var(--gut);text-align:center;background:var(--sand-100,#f6f1e8);border-radius:18px}
.gcta h2{font-size:clamp(20px,4.5vw,26px);margin:0 0 8px}
.gcta p{margin:0 auto 14px;max-width:520px;color:var(--ink-2,#44524d);line-height:1.65;font-size:15px}
.gcta-b{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.gall{margin:0 0 12px!important}
.gall a{color:var(--teal-700);font-weight:600}
.gcard.hl{box-shadow:0 0 0 3px var(--teal-500)}
a.gtab{text-decoration:none}
.gmapw .gmap-toggle[hidden],.gmap-box[hidden],.gres[hidden]{display:none}
.leaflet-container .op-link{cursor:pointer}
@media (prefers-reduced-motion:reduce){.gcard{transition:none}}

/* barra compacta: pesquisa + botão do mapa lado a lado */
.gbar{display:flex;align-items:center;justify-content:center;gap:10px;max-width:1020px;margin:0 auto;padding:0 var(--gut)}
.gbar .gsearch{flex:1 1 auto;max-width:340px;min-width:0;margin:0}
.gbar .gsearch .search{max-width:none}
.gbar .gsearch .search input{min-height:44px}
.gbar .gmap-toggle{flex:0 0 auto;white-space:nowrap}
.gbar .gmap-toggle[hidden]{display:none}
@media (max-width:480px){.gbar{gap:8px}.gbar .gmap-toggle{padding:0;width:44px;justify-content:center}.gbar .gmap-toggle .ic{width:20px;height:20px}.gbar .gmap-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.gbar .gsearch{max-width:none}}

/* tamanho igual e mais pequeno: pesquisa + mapa */
.gbar{gap:8px}
.gbar .gsearch{max-width:250px}
.gbar .gsearch .search input{min-height:38px;height:38px;font-size:14px}
.gbar .gsearch .search{height:38px}
.gbar .gmap-toggle{min-height:38px;height:38px;padding:0 14px;font-size:13px;gap:6px}
.gbar .gmap-toggle .ic{width:16px;height:16px}
@media (max-width:480px){.gbar .gmap-toggle{width:38px;padding:0}.gbar .gsearch{max-width:none}}
.gbar .gsearch{padding:0}
.gbar{padding-top:12px}
@media (max-width:480px){.gbar .gsearch .search input{font-size:16px}}
/* Sem pesquisa: só o botão do mapa, centrado, com texto também no telemóvel */
.gbar{justify-content:center}
.gbar .gmap-toggle{min-height:42px;height:42px;padding:0 20px;font-size:14px;gap:8px;width:auto}
@media (max-width:480px){.gbar .gmap-toggle{width:auto;padding:0 20px}.gbar .gmap-toggle span{position:static;width:auto;height:auto;clip:auto;overflow:visible;margin:0}}

.gm-full{width:34px;height:34px;background:#fff;border:0;border-radius:6px;font-size:18px;line-height:34px;color:var(--teal-800);cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.35);padding:0}
.gmap-box.gmap-full{position:fixed;inset:0;z-index:2000;margin:0;background:#fff;padding:0}
.gmap-box.gmap-full .mapbox{height:100vh;height:100dvh;border-radius:0;border:0}
.gmap-box.gmap-full .gmap-n{display:none}
html.gmap-lock,html.gmap-lock body{overflow:hidden}
