/* CVX Agora — mapa real e lugares (CVX Eventos 1.29.0). O mapa desenhado (imagem) fica até o real estar pronto. */
.cvxa .cvxa-gl{position:absolute;inset:0;width:auto;height:auto;opacity:0;transition:opacity .7s ease} /* mais forte que .maplibregl-map{position:relative} */
.cvxa.is-real .cvxa-gl{opacity:1}
.cvxa.is-real .cvxa-mapimg{opacity:0;transition:opacity .7s ease}
.cvxa.is-real .cvxa-dots,.cvxa.is-real .cvxa-lt,.cvxa.is-real .cvxa-radar{display:none}
.cvxa.is-real .cvxa-vig{box-shadow:inset 0 0 70px rgba(0,0,0,.38)}
.cvxa.is-real .cvxa-layer{pointer-events:none}
.cvxa.is-real .cvxa-layer .cvxa-pin,.cvxa.is-real .cvxa-layer .cvxa-isl{pointer-events:auto}
.cvxa.is-real .cvxa-mv{transition:none!important}
.cvxa.is-real .cvxa-legend{right:58px}
.cvxa.is-real .cvxa-legend .cvxa-osm,.cvxa.is-real .cvxa-legend .cvxa-lgt{display:none}
.cvxa .cvxa-gl canvas{outline:none}

/* Botões do próprio mapa (aproximar, norte, créditos), no tom da página */
.cvxa .maplibregl-ctrl-group{background:rgba(8,20,42,.88);border:1px solid rgba(255,255,255,.18);box-shadow:none;border-radius:4px}
.cvxa .maplibregl-ctrl-group button{width:34px;height:34px}
.cvxa .maplibregl-ctrl-group button+button{border-top:1px solid rgba(255,255,255,.12)}
.cvxa .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(1) brightness(1.4)}
.cvxa .maplibregl-ctrl-group button:hover{background-color:rgba(255,255,255,.08)}
.cvxa .maplibregl-ctrl-attrib{background:rgba(6,19,40,.82);color:#9ab0d2;font-size:11px}
.cvxa .maplibregl-ctrl-attrib a{color:#c9d6ea}
.cvxa .maplibregl-ctrl-attrib-button{filter:invert(1)}
.cvxa .maplibregl-ctrl-attrib.maplibregl-compact{background:rgba(6,19,40,.82)}
.cvxa .maplibregl-cooperative-gesture-screen{background:rgba(4,12,29,.72);color:#f2f6fc;font-size:16px;z-index:8}

/* Lugares e 3D: em cima, à direita */
.cvxa-ctl{position:absolute;right:14px;top:70px;z-index:7;display:flex;gap:8px;align-items:flex-start;pointer-events:none}
.cvxa-ctl>*{pointer-events:auto}
.cvxa-ctl:empty{display:none}
.cvxa .cvxa-ctl .cvxa-gbtn{height:40px;font-size:13px}
.cvxa .cvxa-3d{font-weight:700;letter-spacing:.06em;min-width:48px;justify-content:center}
.cvxa-ludots{display:inline-grid;grid-template-columns:repeat(2,7px);gap:2px}
.cvxa-ludots i{width:7px;height:7px;border-radius:50%;display:block}
.cvxa .cvxa-lubtn:not(.on) .cvxa-ludots{opacity:.35}
.cvxa .cvxa-lubtn.far{opacity:.8}
.cvxa-lupop{position:absolute;right:0;top:48px;width:270px;max-height:min(62vh,440px);overflow:auto;padding:12px;border-radius:6px;border:1px solid var(--a-line-2);background:rgba(8,20,42,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 18px 40px rgba(0,0,0,.45);color:var(--a-text);font-size:14px}
.cvxa-luall{display:flex;align-items:center;gap:10px;padding:4px 2px 10px;border-bottom:1px solid var(--a-line);font-weight:600;color:var(--a-ink);cursor:pointer}
.cvxa-lulist{display:flex;flex-direction:column;padding-top:6px}
.cvxa-luc{display:flex;align-items:center;gap:10px;padding:7px 2px;cursor:pointer;min-height:36px}
.cvxa-luc.off{opacity:.5;cursor:default}
.cvxa-luc img,.cvxa-luc i{width:20px;height:20px;border-radius:50%;flex:none;display:block}
.cvxa-luc span{flex:1}
.cvxa-luc b{font-weight:600;color:var(--a-muted);font-size:12px}
.cvxa-lupop input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#3dd8ff;flex:none}
.cvxa-lunote{margin:8px 2px 0;font-size:12px;line-height:1.4;color:var(--a-muted)}

/* Painel: lugares da ilha, lista de um tipo e o lugar */
.cvxa-glab.lu{color:#93c5fd}.cvxa-glab.lu i{background:#5aa9ff}
.cvxa-luchips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 18px 6px}
.cvxa .cvxa-luchip{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--a-line-2);background:var(--a-soft);color:var(--a-text);font-size:13px;cursor:pointer}
.cvxa .cvxa-luchip:hover{border-color:#5aa9ff;color:#fff}
.cvxa-luchip i{width:9px;height:9px;border-radius:50%;flex:none}
.cvxa-luchip span{color:var(--a-muted);font-size:12px;font-weight:600}
.cvxa-lulist2{display:flex;flex-direction:column;padding:0 10px}
.cvxa .cvxa-lurow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:9px 8px;border:0;border-radius:6px;background:none;color:inherit;cursor:pointer;min-height:52px}
.cvxa .cvxa-lurow:hover,.cvxa .cvxa-lurow:focus-visible{background:var(--a-soft)}
.cvxa-luic{width:34px;height:34px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cvxa-luic img{width:34px;height:34px;display:block}
.cvxa-lut{flex:1;min-width:0}
.cvxa-lut b{display:block;color:var(--a-ink);font-weight:600;font-size:14px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cvxa-lut small{display:block;color:var(--a-muted);font-size:12px;margin-top:2px}
.cvxa-vf{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;border:1px solid var(--a-line-2);color:var(--a-muted);font-size:12px;font-weight:600;white-space:nowrap}
.cvxa-vf.ok{color:#5ee0b0;border-color:rgba(94,224,176,.45)}
.cvxa-vf.sm{padding:2px 7px;font-size:11px}
.cvxa-lutags{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0 0}
.cvxa-ludet .cvxa-media .noimg-in{display:inline-flex;align-items:center;gap:8px}
.cvxa-luico{width:26px;height:26px;display:block}
.cvxa-ludesc{white-space:pre-line;color:var(--a-text);line-height:1.55;margin:4px 0 0;font-size:15px}
.cvxa-ludet .cvxa-fact a{color:#9cc8ff;text-decoration:none;word-break:break-word}
.cvxa-ludet .cvxa-fact a:hover{text-decoration:underline}
.cvxa-ludet .cvxa-glab{margin-left:0;margin-right:0}
.cvxa-src{margin-top:4px;opacity:.9}
.cvxa-lulist2+.cvxa-src{margin:14px 18px 0}

@media (max-width:760px){
  .cvxa-ctl{top:auto;right:auto;bottom:10px;left:10px}
  .cvxa .cvxa-ctl .cvxa-gbtn{height:38px;padding:0 10px}
  .cvxa-lupop{top:auto;bottom:46px;right:auto;left:0;width:min(270px,calc(100vw - 40px));max-height:min(52vh,380px)}
  .cvxa .maplibregl-ctrl-group button{width:32px;height:32px}
}
@media (prefers-reduced-motion:reduce){.cvxa-gl,.cvxa.is-real .cvxa-mapimg{transition:none}}

/* 1.31.0 — o botão verde «Põe no Agora» fica ao lado dos botões de aproximar do mapa real. */
.cvxa.is-real .cvxa-fab{right:56px}
@media (max-width:760px){.cvxa.is-real .cvxa-fab{right:50px;bottom:58px}} /* no telemóvel, por cima de «Lugares» e «3D» */
