/* ---------- 0. Mapa automático de paleta (gerado de app.css live: navy/azul → oliva/laranja) ---------- */
html.nv .map-loading {
  background: rgba(18, 20, 18, 0.62);
}
html.nv .form input, html.nv .form textarea, html.nv .form select {
  background: rgba(18, 20, 18, 0.62);
}
html.nv .maplibregl-ctrl-group {
  background: rgba(18, 20, 18, 0.62) !important;
}
html.nv .maplibregl-popup-content {
  background: rgba(18, 20, 18, 0.62) !important;
}
html.nv .maplibregl-popup-anchor-bottom .maplibregl-popup-tip {
  border-top-color: rgba(20, 22, 20, 0.9) !important;
}
html.nv[data-theme="dark"] .user-panel, html.nv[data-theme="dark"] .user-panel .panel-head {
  background: rgba(28, 30, 28, 0.72);
}
html.nv[data-theme="dark"] .status-panel {
  background: rgba(18, 20, 18, 0.62);
}
html.nv[data-theme="dark"] .btn.secondary {
  background: rgba(18, 20, 18, 0.62);
}
html.nv[data-theme="dark"] .nav-btn.is-active, html.nv[data-theme="dark"] .sub-menu-btn.is-active, html.nv[data-theme="dark"] .menu-toggle[aria-expanded="true"] {
  background: rgba(95, 122, 74, 0.16);
}
html.nv[data-theme="dark"] .maplibregl-ctrl-group {
  background: rgba(18, 20, 18, 0.62) !important;
}
html.nv[data-theme="dark"] .social-google {
  background: rgba(18, 20, 18, 0.62) !important;
}
html.nv .place-edit-form input, html.nv .place-edit-form textarea, html.nv .place-edit-form select {
  background: rgba(18, 20, 18, 0.62);
}
html.nv[data-theme="dark"] .cat-chip:hover {
  border-color: rgba(95, 122, 74, 0.55);
}
html.nv[data-theme="dark"] .map-add-hint {
  box-shadow: 0 4px 12px rgba(95, 122, 74, 0.35);
}
html.nv[data-theme="dark"] .user-panel.is-add-form {
  background: linear-gradient(180deg, rgba(95, 122, 74, 0.16) 0%, rgba(28, 30, 28, 0.72) 48px);
  box-shadow: inset 0 0 0 1px rgba(95, 122, 74, 0.28);
}
html.nv[data-theme="dark"] .pc-card.is-reply {
  background: rgba(95, 122, 74, 0.08);
}
html.nv .trip-planner-panel {
  background: var(--bg-elev, rgba(28, 30, 28, 0.72));
}
html.nv .tp-header {
  background: var(--bg-head, rgba(18, 20, 18, 0.62));
}
html.nv .tp-field input, html.nv .tp-field select {
  background: var(--bg-panel, rgba(18, 20, 18, 0.62));
}
html.nv .tp-field input:focus, html.nv .tp-field select:focus {
  box-shadow: 0 0 0 3px var(--accent-dim, rgba(95, 122, 74, 0.18));
}
html.nv .tp-wp-fields .tp-wp-label {
  background: var(--bg-panel, rgba(18, 20, 18, 0.62));
}
html.nv .go-user-loc-dot {
  background: #e08a3c;
  box-shadow: 0 0 0 1px rgba(224, 138, 60, 0.45), 0 2px 8px rgba(0, 0, 0, 0.3);
}
html.nv .go-user-loc-pulse {
  background: rgba(224, 138, 60, 0.35);
}
html.nv #btnMyLocation.is-active, html.nv #btnMap3d.is-active {
  border-color: rgba(224, 138, 60, 0.65);
  background: rgba(224, 138, 60, 0.14);
  color: #f2ad6b;
  box-shadow: 0 0 0 1px rgba(224, 138, 60, 0.25);
}
html.nv .pc-form textarea {
  background: rgba(18, 20, 18, 0.62);
}
html.nv .tp-calc-progress {
  background: var(--accent-dim, rgba(95, 122, 74, 0.18));
}
html.nv .username-field {
  background: var(--bg-panel, rgba(18, 20, 18, 0.62));
}
html.nv .public-user-badge.is-admin {
  background: rgba(95, 122, 74, 0.25);
}
html.nv .public-user-social-btn {
  background: rgba(95, 122, 74, 0.14);
  border: 1px solid rgba(95, 122, 74, 0.28);
}
html.nv .public-user-social-btn:hover {
  background: rgba(95, 122, 74, 0.28);
}
/* 30 regras */
/* ==========================================================================
   GetOut360 — NOVO VISUAL (preview)  ·  dark premium / glass
   Camada aplicada POR CIMA de /assets/css/app.css. Não altera comportamento.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
html.nv {
  --nv-glass: rgba(28, 30, 28, 0.72);
  --nv-glass-strong: rgba(24, 26, 24, 0.88);
  --nv-glass-soft: rgba(255, 255, 255, 0.06);
  --nv-line: rgba(255, 255, 255, 0.08);
  --nv-line-2: rgba(255, 255, 255, 0.14);
  --nv-text: #f2f3ef;
  --nv-text-2: #c9ccc4;
  --nv-muted: #a9ada3;
  --nv-olive: #5f7a4a;
  --nv-olive-2: #4e6b3d;
  --nv-olive-text: #b9d29d;
  --nv-orange: #e08a3c;
  --nv-orange-text: #f2ad6b;
  --nv-red: #e5484d;
  --nv-radius: 20px;
  --nv-radius-sm: 14px;
  --nv-blur: blur(18px) saturate(140%);
  --nv-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
  --nv-appbar-h: 0px;
  --nv-font: "Urbanist", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
html.nv[data-theme="dark"], html.nv:not([data-theme]) {
  --bg: #0d0f0d;
  --bg-elev: var(--nv-glass);
  --bg-panel: var(--nv-glass);
  --bg-head: transparent;
  --border: var(--nv-line);
  --border-soft: var(--nv-line-2);
  --text: var(--nv-text);
  --muted: var(--nv-muted);
  --accent: var(--nv-olive);
  --accent-dim: rgba(95, 122, 74, 0.28);
  --label: var(--nv-olive-text);
  --danger: #ff6b6b;
  --radius: var(--nv-radius);
  --font: var(--nv-font);
  color-scheme: dark;
}
/* tema claro continua funcionando (toggle do app) — vidro claro */
html.nv[data-theme="light"] {
  --nv-glass: rgba(250, 250, 246, 0.80);
  --nv-glass-strong: rgba(250, 250, 246, 0.94);
  --nv-glass-soft: rgba(20, 24, 18, 0.05);
  --nv-line: rgba(20, 24, 18, 0.10);
  --nv-line-2: rgba(20, 24, 18, 0.16);
  --nv-text: #1b1e19;
  --nv-text-2: #3a3f36;
  --nv-muted: #555a50;
  --nv-olive-text: #3f5a2e;
  --nv-orange-text: #9a4d0e;
  --bg: #e9e8e2;
  --bg-elev: var(--nv-glass);
  --bg-panel: var(--nv-glass);
  --bg-head: transparent;
  --border: var(--nv-line);
  --border-soft: var(--nv-line-2);
  --text: var(--nv-text);
  --muted: var(--nv-muted);
  --accent: var(--nv-olive-2);
  --accent-dim: rgba(78, 107, 61, 0.16);
  --label: var(--nv-olive-text);
  --radius: var(--nv-radius);
  --font: var(--nv-font);
}

/* ---------- 2. Base / tipografia ---------- */
html.nv, html.nv body { background: var(--bg) !important; }
html.nv body {
  font-family: var(--nv-font);
  font-size: 15px;
  line-height: 1.45;
  color: var(--nv-text);
  font-weight: 400;
  letter-spacing: 0.005em;
}
html.nv button, html.nv input, html.nv select, html.nv textarea { font-family: var(--nv-font); }
html.nv .boot-splash { background: #0d0f0d !important; color: var(--nv-text) !important; font-family: var(--nv-font) !important; }
html.nv[data-theme="light"] .boot-splash { background: #e9e8e2 !important; color: #1b1e19 !important; }
html.nv .boot-bar { background: var(--nv-olive) !important; }
html.nv .boot-label { font-size: 15px !important; font-weight: 500 !important; }
html.nv ::selection { background: rgba(95, 122, 74, 0.55); color: #fff; }
html.nv * { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,0.18) transparent; }
html.nv[data-theme="light"] * { scrollbar-color: rgba(0,0,0,0.2) transparent; }
html.nv :focus-visible { outline: 2px solid var(--nv-orange); outline-offset: 2px; }

/* Etiquetas minúsculas (10–11px caixa alta) → 13–14px normais */
html.nv .panel-head h1, html.nv .panel-head h2 {
  font-size: 14px; font-weight: 600; letter-spacing: 0.01em; text-transform: none; color: var(--nv-text);
}
html.nv .section-title {
  font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--nv-text); margin: 6px 0 12px;
}
html.nv .form label {
  font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--nv-text-2); font-weight: 500; gap: 6px;
}
html.nv .chip {
  font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none;
  color: var(--nv-olive-text); background: var(--accent-dim); padding: 4px 10px;
}
html.nv .stat-lbl { font-size: 14px; letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--nv-text-2); }
html.nv .stat-val { font-size: 17px; color: var(--nv-orange-text); font-weight: 700; }
html.nv .msg { font-size: 14px; }
html.nv .auth-footnote, html.nv .field-hint { font-size: 13px; color: var(--nv-muted); line-height: 1.5; }
html.nv .auth-switch { font-size: 14px; color: var(--nv-text-2); }
html.nv .kv-row { font-size: 14px; background: var(--nv-glass-soft); border-radius: 12px; }
html.nv .rank-card-title, html.nv .user-photo-hint, html.nv .user-username { font-size: 13px; text-transform: none; letter-spacing: 0; }
html.nv .clock { font-size: 13px; font-weight: 500; letter-spacing: 0.02em; color: var(--nv-text-2); text-transform: none; }
html.nv .place-comments-title { font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--nv-text); }

/* ---------- 3. Componentes ---------- */
html.nv .panel {
  background: var(--nv-glass);
  -webkit-backdrop-filter: var(--nv-blur);
  backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  box-shadow: var(--nv-shadow);
}
html.nv .panel-head { background: transparent; border-bottom: 1px solid var(--nv-line); padding: 14px 18px; }
html.nv .panel-body { padding: 16px 18px; }

/* Botões: contraste ≥ 4.5:1 (branco sobre oliva #4e6b3d ≈ 6.1:1) */
html.nv .btn {
  background: var(--nv-olive-2); color: #fff; border-radius: 999px;
  font: 600 15px/1.2 var(--nv-font); padding: 12px 18px; letter-spacing: 0.01em;
  transition: background .15s, filter .15s, transform .15s;
}
html.nv .btn:hover { background: #5a7a47; filter: none; }
html.nv .btn.secondary { background: rgba(255,255,255,0.10); color: var(--nv-text); border: 1px solid var(--nv-line-2); }
html.nv[data-theme="light"] .btn.secondary { background: rgba(0,0,0,0.06); }
html.nv .btn.ghost { background: transparent; color: var(--nv-text-2); border: 1px solid var(--nv-line-2); }
html.nv .btn.ghost:hover { color: var(--nv-text); border-color: rgba(255,255,255,0.3); }
/* links (Esqueci a senha, Criar conta, etc.) */
html.nv .linkish, html.nv .back-link {
  color: var(--nv-orange-text) !important; font-size: 14px; font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
html.nv .linkish.muted { color: var(--nv-text-2) !important; }
html.nv a { color: var(--nv-orange-text); }

/* Inputs */
html.nv .form input, html.nv .form textarea, html.nv .form select,
html.nv input[type="text"], html.nv input[type="email"], html.nv input[type="password"], html.nv input[type="search"], html.nv input[type="number"], html.nv textarea, html.nv select {
  background: rgba(0,0,0,0.28); border: 1px solid var(--nv-line-2); color: var(--nv-text);
  border-radius: 14px; font: 15px/1.3 var(--nv-font);
}
html.nv[data-theme="light"] .form input, html.nv[data-theme="light"] .form textarea, html.nv[data-theme="light"] .form select { background: rgba(255,255,255,0.75); }
html.nv .form input { padding: 12px 14px; }
html.nv .form input::placeholder, html.nv input::placeholder { color: rgba(201,204,196,0.7); }
html.nv .form input:focus, html.nv .form textarea:focus, html.nv .form select:focus {
  outline: none; border-color: rgba(185,210,157,0.6); box-shadow: 0 0 0 3px rgba(95,122,74,0.28);
}

/* Login: recuperação de senha só aparece ao clicar em "Esqueci a senha" */
html.nv .form[hidden], html.nv #formForgot[hidden] { display: none !important; }
html.nv .auth-switch { margin: 10px 0; text-align: center; }
html.nv .social-divider { font-size: 13px; letter-spacing: 0.02em; text-transform: none; color: var(--nv-muted); }
html.nv .social-btn { border-radius: 999px; font-size: 15px; font-weight: 600; min-height: 46px; }
html.nv .social-apple { background: #f2f3ef; color: #111; border: 0; }
html.nv .social-google { background: rgba(255,255,255,0.06); color: var(--nv-text); border: 1px solid var(--nv-line-2); }

/* Chips de categoria (pílulas) */
html.nv .cat-chip {
  font: 500 14px/1.2 var(--nv-font); padding: 8px 14px; border-radius: 999px;
  background: rgba(255,255,255,0.06); border: 1px solid var(--nv-line-2); color: var(--nv-text-2);
}
html.nv .cat-chip:hover { color: var(--nv-text); background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.22); }
html.nv .cat-chip.is-active, html.nv .cat-chip[aria-selected="true"] {
  background: var(--nv-olive-2) !important; border-color: #6c8c57 !important; color: #fff !important; box-shadow: none !important;
}
html.nv .cat-chip.is-active .icon-wrap { color: #fff !important; }
html.nv[data-theme="light"] .cat-chip { background: rgba(0,0,0,0.04); color: #2b2f28; }

/* Popup do ponto + drawer "Ver lugar" */
html.nv .go-place-popup-wrap .maplibregl-popup-content {
  background: var(--nv-glass-strong) !important; color: var(--nv-text) !important;
  -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line) !important; border-radius: var(--nv-radius) !important;
}
html.nv .go-place-popup-wrap .maplibregl-popup-tip { border-top-color: var(--nv-glass-strong) !important; border-bottom-color: var(--nv-glass-strong) !important; }
html.nv .go-pop { font-family: var(--nv-font); }
html.nv .go-pop-title { font-weight: 600; letter-spacing: -0.01em; }
html.nv .place-drawer {
  background: var(--nv-glass-strong) !important; color: var(--nv-text);
  -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line) !important;
}
html.nv .place-drawer-scrim { background: rgba(0,0,0,0.45) !important; }

/* MapLibre: controles em vidro */
html.nv .maplibregl-ctrl-group {
  background: var(--nv-glass) !important; -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line) !important; border-radius: 999px !important; box-shadow: var(--nv-shadow) !important; overflow: hidden;
}
html.nv .maplibregl-ctrl-group button { width: 44px; height: 44px; filter: invert(1) brightness(1.1); opacity: 0.9; }
html.nv .maplibregl-ctrl-group button + button { border-top: 0 !important; }
html.nv[data-theme="light"] .maplibregl-ctrl-group button { filter: none; }
html.nv .maplibregl-ctrl-attrib { background: rgba(14,16,14,0.7) !important; color: #b9bdb3 !important; font-size: 11px !important; border-radius: 10px !important; }
html.nv .maplibregl-ctrl-attrib a { color: #d6d9d1 !important; }
html.nv .map-loading { background: #121411; color: var(--nv-text-2); font-size: 15px; }

/* Busca */
html.nv .search-toggle { background: var(--nv-glass-soft); border: 1px solid var(--nv-line-2); color: var(--nv-text); }
html.nv .search-toggle:hover { background: rgba(255,255,255,0.12); color: var(--nv-text); border-color: rgba(255,255,255,0.25); }
html.nv .search-results {
  background: var(--nv-glass-strong) !important; -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line) !important; border-radius: 18px !important; color: var(--nv-text);
}
html.nv .search-wrap input, html.nv #search { border-radius: 999px !important; }

/* Idioma / tema */
html.nv .lang-switch { background: var(--nv-glass-soft); border: 1px solid var(--nv-line); border-radius: 999px; padding: 3px; }
html.nv .lang-switch button { font: 600 13px/1 var(--nv-font); letter-spacing: 0.02em; color: var(--nv-text-2); border-radius: 999px; }
html.nv .lang-switch button.is-on { background: rgba(255,255,255,0.16); color: var(--nv-text); }
html.nv[data-theme="light"] .lang-switch button.is-on { background: rgba(0,0,0,0.10); }
html.nv .theme-toggle { background: var(--nv-glass-soft); border: 1px solid var(--nv-line); color: var(--nv-text); border-radius: 999px; }

/* Menu (submenu) */
html.nv .sub-menu-btn { font: 500 14px/1 var(--nv-font); letter-spacing: 0.01em; text-transform: none; color: var(--nv-text-2); border-radius: 999px; }
html.nv .sub-menu-btn:hover { color: var(--nv-text); background: rgba(255,255,255,0.08); }
html.nv .sub-menu-btn.is-active, html.nv .sub-menu-btn.nv-active { color: var(--nv-text); background: rgba(255,255,255,0.16); }
html.nv[data-theme="light"] .sub-menu-btn { color: #3a3f36; }
html.nv .site-copyright { font-size: 12px; color: var(--nv-muted); }

/* Modais genéricos do app */
html.nv .public-user-modal > div, html.nv .founder-edition-modal > div, html.nv .route-sheet, html.nv .trip-planner-panel {
  border-radius: var(--nv-radius);
}

/* ---------- 4. Barra "Baixe o app" ---------- */
html.nv #go360-appbar {
  height: 44px; background: #090a09; border-bottom: 1px solid var(--nv-line);
  font-family: var(--nv-font); font-size: 14px; color: var(--nv-text-2); gap: 12px; position: relative;
}
html.nv #go360-appbar img.ic { width: 26px; height: 26px; border-radius: 7px; }
html.nv #go360-appbar a img { height: 30px; }
html.nv:has(#go360-appbar:not([hidden])) { --nv-appbar-h: 44px; }
/* FIX do bug do desktop: "#go360-appbar + .app" não casa (há um <script> entre eles) → página 52px mais alta que a tela.
   Usa o combinador geral "~" e a altura real da barra. */
html.nv #go360-appbar ~ .app { height: calc(100dvh - var(--nv-appbar-h)); }
html.nv #go360-appbar[hidden] ~ .app { height: 100dvh; }
html.nv .nv-appbar-x {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  width: 32px; height: 32px; border-radius: 50%; border: 0; background: rgba(255,255,255,0.08);
  color: var(--nv-text); font-size: 18px; line-height: 1; cursor: pointer; display: none;
}

/* Modal App Store */
html.nv #go360-modal { font-family: var(--nv-font); background: rgba(0,0,0,0.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
html.nv #go360-modal .box {
  background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line); border-radius: 24px; box-shadow: var(--nv-shadow);
}
html.nv #go360-modal h2 { font-weight: 600; letter-spacing: -0.01em; }
html.nv #go360-modal p { color: var(--nv-text-2); }
html.nv #go360-modal .later { color: var(--nv-text-2); font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }

/* PWA install em vidro */
html.nv .pwa-install.is-on {
  background: var(--nv-glass-strong) !important; -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line) !important; border-radius: var(--nv-radius) !important;
}
html.nv .pwa-install-title { font-weight: 600; font-size: 15px; }
html.nv .pwa-install-text { font-size: 14px; }
html.nv .pwa-install-go { background: var(--nv-olive-2) !important; color: #fff !important; border-radius: 999px !important; }
/* só UMA divulgação por vez */
html.nv.nv-promo-lock #pwaInstall, html.nv.nv-promo-lock #pwaIosArrow { display: none !important; }
html.nv.nv-promo-lock.is-pwa-ios .phone-dock { visibility: visible !important; }

/* ==========================================================================
   5. DESKTOP (≥ 961px): mapa em tela cheia + painéis de vidro flutuantes
   ========================================================================== */
@media (min-width: 961px) {
  html.nv .app {
    position: relative; display: block; padding: 0; gap: 0; overflow: hidden;
    height: calc(100dvh - var(--nv-appbar-h));
  }
  html.nv .col-map { position: absolute; inset: 0; display: block; }
  html.nv .col-map .map-panel, html.nv .map-panel {
    position: absolute; inset: 0; border-radius: 0; border: 0; background: #121411;
    box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; overflow: hidden;
  }
  html.nv .map-panel .map-body { position: absolute; inset: 0; }

  /* Header flutuante */
  html.nv .topbar {
    position: absolute; top: 16px; left: 16px; right: 16px; z-index: 40;
    height: 64px; min-height: 64px; padding: 0 12px 0 20px;
    grid-template-columns: auto 1fr auto; gap: 16px;
    background: var(--nv-glass); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
    border: 1px solid var(--nv-line); border-radius: var(--nv-radius); box-shadow: var(--nv-shadow);
  }
  html.nv .topbar-left { gap: 0; }
  html.nv .brand-logo-img { height: 30px; }
  html.nv .top-nav, html.nv .menu-toggle { display: none !important; }
  html.nv .topbar-center { justify-content: flex-end; }
  html.nv .topbar-right { display: flex; align-items: center; gap: 10px; }
  html.nv .search-expand { justify-content: flex-end; }

  /* Abas em pílula (o submenu vira a navegação principal) */
  html.nv #subMenu, html.nv #subMenu[hidden] {
    display: flex !important; position: absolute; z-index: 41; top: 16px; left: 236px; height: 64px;
    align-items: center; gap: 4px; padding: 0; background: transparent; border: 0; box-shadow: none; animation: none;
    flex-wrap: nowrap;
  }
  html.nv #subMenu .phone-menu-lead, html.nv #subMenu .site-copyright, html.nv #subMenu a[href*="propriedade-intelectual"] { display: none !important; }
  html.nv #subMenu .sub-menu-btn { padding: 10px 16px; font-size: 14px; }
  html.nv #subMenu .nv-tab-map { order: 0; } html.nv #subMenu a[href*="/pontos/"] { order: 1; }
  html.nv #subMenu a[href*="/faq/"] { order: 2; } html.nv #subMenu a[href*="/terms/"] { order: 3; }
  html.nv #subMenu a[href*="/privacy/"] { order: 4; } html.nv #subMenu [data-menu="credits"] { order: 5; }

  /* Cabeçalho do painel do mapa vira controles flutuantes; sem título grande */
  html.nv .map-panel .panel-head {
    position: absolute; inset: auto 0 0 auto; z-index: 30; padding: 0; border: 0; background: transparent; pointer-events: none;
  }
  html.nv .map-panel .panel-head h1 {
    position: fixed; left: 340px; bottom: 26px; margin: 0; pointer-events: none; opacity: 0; font-size: 13px;
  }
  html.nv .map-panel .panel-head h1:has(.is-offline) {
    opacity: 1; padding: 8px 14px; border-radius: 999px; background: rgba(229,72,77,0.18); border: 1px solid rgba(229,72,77,0.45);
  }
  html.nv .map-add-hint {
    position: absolute; left: 50%; bottom: 100px; transform: translateX(-50%); white-space: nowrap; pointer-events: none;
    padding: 10px 18px; border-radius: 999px; background: var(--nv-glass-strong); border: 1px solid var(--nv-line);
    font-size: 15px; color: var(--nv-text); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  }
  html.nv .map-tools {
    position: absolute; right: 16px; bottom: 24px; z-index: 31; pointer-events: auto;
    display: flex; flex-direction: row; align-items: center; gap: 4px; padding: 6px;
    background: var(--nv-glass); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
    border: 1px solid var(--nv-line); border-radius: 999px; box-shadow: var(--nv-shadow);
  }
  html.nv .map-tools .btn-categories { display: none; }
  html.nv .map-tools .icon-btn, html.nv .map-tools #btnMap3d, html.nv .map-tools #btnNorth, html.nv .map-tools #btnMyLocation,
  html.nv .map-tools #btnFit, html.nv .map-tools #btnTripPlanner {
    width: 44px; height: 44px; min-width: 44px; padding: 10px; border-radius: 999px; border: 0;
    background: transparent; color: var(--nv-text); box-shadow: none;
  }
  html.nv .map-tools .icon-btn:hover { background: rgba(255,255,255,0.10); }
  html.nv .map-tools #btnMyLocation.is-active, html.nv .map-tools #btnMap3d.is-active { background: rgba(224,138,60,0.22); color: var(--nv-orange-text); box-shadow: none; }
  /* "Adicionar ponto" em pílula própria */
  html.nv .map-tools #btnNewPlace {
    order: -1; width: auto; min-width: 0; height: 44px; padding: 0 14px 0 18px; gap: 10px; margin-right: 6px;
    border-radius: 999px; border: 1px solid var(--nv-line-2); background: rgba(255,255,255,0.08); color: var(--nv-text);
    font: 500 15px/1 var(--nv-font); flex-direction: row-reverse;
  }
  html.nv .map-tools #btnNewPlace::before { content: attr(aria-label); white-space: nowrap; }
  html.nv .map-tools #btnNewPlace:hover, html.nv .map-tools #btnNewPlace.is-active { background: var(--nv-olive-2); border-color: #6c8c57; }
  html.nv .map-tools iconify-icon { width: 22px !important; height: 22px !important; font-size: 22px !important; }

  /* zoom MapLibre: canto inferior direito, horizontal, ao lado das ferramentas */
  html.nv .maplibregl-ctrl-top-right { top: auto; bottom: 24px; right: var(--nv-tools-w, 420px); }
  html.nv .maplibregl-ctrl-top-right .maplibregl-ctrl { margin: 0 12px 0 0; }
  html.nv .maplibregl-ctrl-top-right .maplibregl-ctrl-group { display: flex; padding: 6px; }
  html.nv .maplibregl-ctrl-top-right .maplibregl-ctrl-group button { border-radius: 999px; }
  html.nv .maplibregl-ctrl-bottom-right { right: auto; left: 16px; bottom: 8px; }
  html.nv .site-copyright-corner { position: fixed; left: 16px; bottom: 34px; z-index: 5; font-size: 12px; opacity: 0.85; }

  /* Filtros (chips) em cartão de vidro à esquerda — sempre visível no desktop */
  html.nv #catBarPanel, html.nv #catBarPanel[hidden] {
    display: block !important; position: absolute; z-index: 30; top: 96px; left: 16px; width: 320px;
    padding: 14px; max-height: min(34vh, 300px); overflow: auto;
    background: var(--nv-glass); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
    border: 1px solid var(--nv-line); border-radius: var(--nv-radius); box-shadow: var(--nv-shadow);
  }
  html.nv #catBar {
    display: flex; flex-wrap: wrap; gap: 8px; white-space: normal; overflow: visible; cursor: default;
    padding: 0; background: transparent; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
  }

  /* Painel do usuário: cartão de vidro à direita */
  html.nv .col-side, html.nv body.is-form-wide .col-side {
    position: absolute; z-index: 32; top: 96px; right: 16px; bottom: 92px; height: auto;
    width: 360px; gap: 10px; pointer-events: none;
  }
  html.nv body.is-form-wide .col-side { width: 460px; }
  html.nv .col-side > * { pointer-events: auto; }
  html.nv .col-side .user-panel { flex: 0 1 auto; max-height: 100%; }
  html.nv .col-side .status-panel { padding: 10px 16px; border-radius: 999px; align-self: flex-end; }

  /* Destaques (cartões com foto) — gerado por novo-visual.js */
  html.nv .nv-places {
    position: absolute; z-index: 30; left: 16px; width: 320px; top: var(--nv-places-top, 420px); bottom: 64px;
    display: flex; flex-direction: column; gap: 10px; padding: 12px; overflow: hidden;
    background: var(--nv-glass); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
    border: 1px solid var(--nv-line); border-radius: var(--nv-radius); box-shadow: var(--nv-shadow);
  }
  html.nv .nv-places[hidden] { display: none; }
}

/* Cartões de lugar (desktop: lista à esquerda; páginas de categoria) */
.nv-places-head { display: flex; align-items: center; justify-content: space-between; padding: 2px 6px 0; }
.nv-places-head h2 { margin: 0; font-size: 15px; font-weight: 600; color: var(--nv-text); }
.nv-places-head a { font-size: 13px; color: var(--nv-orange-text); }
.nv-places-list { display: flex; flex-direction: column; gap: 10px; overflow: auto; min-height: 0; padding-right: 2px; }
.nv-pcard {
  display: block; position: relative; border-radius: 16px; overflow: hidden; text-decoration: none; color: var(--nv-text) !important;
  background: rgba(255,255,255,0.05); border: 1px solid var(--nv-line); flex: none;
}
.nv-pcard img { display: block; width: 100%; height: 120px; object-fit: cover; }
.nv-pcard .nv-pcard-body { padding: 10px 12px 12px; }
.nv-pcard .nv-pcard-title { font-size: 15px; font-weight: 600; line-height: 1.25; }
.nv-pcard .nv-pcard-meta { font-size: 13px; color: var(--nv-muted); margin-top: 3px; display: flex; gap: 8px; align-items: center; }
.nv-pcard .nv-star { color: var(--nv-orange-text); font-weight: 600; }
.nv-pcard:hover { border-color: rgba(255,255,255,0.22); }

/* ==========================================================================
   6. CELULAR (≤ 960px)
   ========================================================================== */
@media (max-width: 960px) {
  html.nv .nv-appbar-x { display: block; }
  html.nv #go360-appbar { padding-right: 46px; justify-content: flex-start; }
  html.nv .app {
    padding: 0 0 0; gap: 0; position: relative;
    height: calc(100dvh - var(--nv-appbar-h));
  }
  html.nv .col-map { position: relative; }
  html.nv .map-panel {
    border-radius: 0; border: 0; box-shadow: none; background: #121411; -webkit-backdrop-filter: none; backdrop-filter: none;
  }
  html.nv .topbar {
    position: absolute; z-index: 40; top: 10px; left: 10px; right: 10px; height: 56px; min-height: 56px; padding: 0 8px 0 12px;
    background: var(--nv-glass); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
    border: 1px solid var(--nv-line); border-radius: 18px; box-shadow: var(--nv-shadow);
  }
  html.nv .brand-logo-img { height: 26px; }
  html.nv .lang-switch button { padding: 8px 9px; }
  html.nv .map-panel .panel-head { top: 78px; left: 10px; right: 10px; }
  html.nv .map-panel .map-tools { gap: 8px; }
  html.nv .map-panel .btn-categories, html.nv .map-panel .icon-btn, html.nv .map-panel #btnMap3d, html.nv .map-panel #btnNorth,
  html.nv .map-panel #btnMyLocation, html.nv .map-panel #btnFit, html.nv .map-panel #btnNewPlace, html.nv .map-panel #btnTripPlanner {
    background: var(--nv-glass) !important; -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
    border: 1px solid var(--nv-line) !important; border-radius: 16px; color: var(--nv-text);
  }
  html.nv .map-panel #btnNewPlace { background: rgba(78,107,61,0.88) !important; border-color: #6c8c57 !important; color: #fff; }
  html.nv .maplibregl-ctrl-top-right { top: 78px; right: 10px; }
  html.nv .maplibregl-ctrl-top-right .maplibregl-ctrl-group { border-radius: 16px !important; }
  html.nv .cat-bar-panel { position: absolute; z-index: 35; top: 72px; left: 62px; right: 10px; padding: 0; }
  html.nv .cat-bar { background: var(--nv-glass); border: 1px solid var(--nv-line); border-radius: 999px; box-shadow: var(--nv-shadow); }
  html.nv .cat-chip { font-size: 14px; padding: 8px 12px; }
  /* dock inferior em pílula de vidro */
  html.nv .phone-dock {
    height: 56px; left: 16px; right: 16px; bottom: calc(10px + env(safe-area-inset-bottom)); padding: 5px;
    background: var(--nv-glass); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
    border: 1px solid var(--nv-line); border-radius: 999px; box-shadow: var(--nv-shadow);
  }
  html.nv .phone-dock button { border-radius: 999px; color: var(--nv-text-2); gap: 6px; }
  html.nv .phone-dock button span { display: inline; font-size: 14px; font-weight: 500; }
  html.nv .phone-dock button.is-active { background: rgba(255,255,255,0.16); color: var(--nv-text); }
  html.nv[data-theme="light"] .phone-dock button.is-active { background: rgba(0,0,0,0.08); }
  /* atribuição do mapa acima do dock */
  html.nv .maplibregl-ctrl-bottom-right, html.nv .maplibregl-ctrl-bottom-left { bottom: calc(72px + env(safe-area-inset-bottom)); }
  html.nv .site-copyright-corner { display: none; }
  /* painel / menu no celular: abaixo do header flutuante */
  html.nv[data-phone="panel"] .col-side, html.nv[data-phone="menu"] .col-map { padding: 76px 10px calc(78px + env(safe-area-inset-bottom)); }
  html.nv[data-phone="panel"] .col-side { display: flex; position: absolute; inset: 0; }
  html.nv[data-phone="menu"] .sub-menu, html.nv[data-phone="menu"] .sub-menu[hidden] {
    background: var(--nv-glass); border: 1px solid var(--nv-line); border-radius: var(--nv-radius);
  }
  html.nv[data-phone="menu"] .sub-menu-btn { background: rgba(255,255,255,0.06); font-size: 15px; border-radius: 16px; }
  html.nv[data-phone="menu"] .phone-menu-lead { font-size: 14px; }
  html.nv[data-phone="menu"] .site-copyright-menu { font-size: 13px; }
  html.nv #subMenu .nv-tab-map { display: none; }
  /* popup do ponto acima do dock */
  html.nv .go-place-popup-wrap.maplibregl-popup { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
  html.nv .pwa-install.is-on { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
  html.nv .nv-places { display: none !important; }
}

/* ==========================================================================
   7. PÁGINAS INTERNAS (pontos, categoria, lugar, FAQ, legais)
   ========================================================================== */
html.nv.nv-page body {
  margin: 0; min-height: 100vh; display: flex; flex-direction: column;
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(95,122,74,0.20), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(224,138,60,0.10), transparent 60%),
    #0d0f0d !important;
  color: var(--nv-text) !important; font: 400 16px/1.65 var(--nv-font) !important;
}
/* esconde o cabeçalho antigo de cada página (o novo é compartilhado) */
html.nv.nv-page body > header:not(.nv-header), html.nv.nv-page .wrap > .top { display: none !important; }
.nv-header { position: sticky; top: 0; z-index: 50; padding: 14px 16px 0; }
.nv-header-inner {
  max-width: 1180px; margin: 0 auto; height: 64px; display: flex; align-items: center; gap: 18px; padding: 0 10px 0 20px;
  background: rgba(28,30,28,0.72); -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 20px; box-shadow: 0 18px 50px rgba(0,0,0,0.45);
}
.nv-brand { display: inline-flex; line-height: 0; }
.nv-brand img { height: 30px; width: auto; }
.nv-tabs { display: flex; gap: 4px; flex: 1; overflow-x: auto; scrollbar-width: none; }
.nv-tabs::-webkit-scrollbar { display: none; }
.nv-tab {
  padding: 10px 16px; border-radius: 999px; color: #c9ccc4 !important; text-decoration: none !important;
  font: 500 15px/1 "Urbanist", Inter, system-ui, sans-serif; white-space: nowrap;
}
.nv-tab:hover { background: rgba(255,255,255,0.08); color: #fff !important; }
.nv-tab.is-active { background: rgba(255,255,255,0.16); color: #fff !important; }
.nv-cta {
  display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; border-radius: 999px; text-decoration: none !important;
  background: #4e6b3d; color: #fff !important; font: 600 15px/1 "Urbanist", Inter, system-ui, sans-serif; white-space: nowrap;
}
.nv-cta:hover { background: #5a7a47; }
.nv-footer { margin-top: auto; padding: 40px 16px 28px; }
.nv-footer-inner {
  max-width: 1180px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px;
  padding: 20px 22px; border-radius: 20px; background: rgba(28,30,28,0.6); border: 1px solid rgba(255,255,255,0.08);
  color: #a9ada3; font: 400 14px/1.5 "Urbanist", Inter, system-ui, sans-serif;
}
.nv-footer-inner img { height: 24px; width: auto; display: block; }
.nv-footer-inner nav { display: flex; flex-wrap: wrap; gap: 6px 18px; flex: 1; }
.nv-footer-inner nav a { color: #c9ccc4 !important; text-decoration: none; }
.nv-footer-inner nav a:hover { color: #fff !important; text-decoration: underline; }
.nv-footer-inner p { margin: 0; }

/* conteúdo: cartão de vidro central */
html.nv.nv-page main, html.nv.nv-page .wrap {
  width: min(880px, calc(100% - 32px)); max-width: none; margin: 28px auto 0; padding: 36px 40px 40px; box-sizing: border-box;
  background: rgba(28,30,28,0.72); -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 24px; box-shadow: 0 18px 50px rgba(0,0,0,0.35);
  color: #f2f3ef;
}
html.nv.nv-page h1 { font: 600 40px/1.1 var(--nv-font) !important; letter-spacing: -0.02em; margin: 0 0 12px; color: #fff; }
html.nv.nv-page h2 { font: 600 22px/1.25 var(--nv-font) !important; color: #fff !important; margin: 34px 0 12px; letter-spacing: -0.01em; }
html.nv.nv-page h3 { font: 600 18px/1.3 var(--nv-font); color: #fff; }
html.nv.nv-page p, html.nv.nv-page li { color: #dadcd5 !important; font-size: 16px; }
html.nv.nv-page a { color: var(--nv-orange-text); text-underline-offset: 3px; }
html.nv.nv-page .lead, html.nv.nv-page .lede { font-size: 18px !important; color: #e6e8e1 !important; }
html.nv.nv-page .note, html.nv.nv-page .updated, html.nv.nv-page .meta, html.nv.nv-page .crumb { font-size: 14px !important; color: #a9ada3 !important; }
html.nv.nv-page .crumb a { color: #c9ccc4 !important; }
html.nv.nv-page .box, html.nv.nv-page .card {
  background: rgba(255,255,255,0.05) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 18px !important; color: #e6e8e1;
}
html.nv.nv-page .lang { gap: 8px !important; margin-bottom: 18px !important; }
html.nv.nv-page .lang a {
  padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.10);
  color: #dadcd5 !important; text-decoration: none; font-size: 14px;
}
html.nv.nv-page hr.lang-break { border-top-color: rgba(255,255,255,0.10) !important; }
html.nv.nv-page main > footer, html.nv.nv-page .wrap > .foot { border-top: 1px solid rgba(255,255,255,0.08) !important; color: #a9ada3 !important; font-size: 14px !important; padding-top: 18px; margin-top: 36px; }
/* FAQ: acordeões */
html.nv.nv-page details {
  background: rgba(255,255,255,0.04) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 16px !important;
  margin: 10px 0 !important; padding: 0 !important; overflow: hidden;
}
html.nv.nv-page summary { padding: 16px 18px !important; font: 600 16px/1.35 var(--nv-font) !important; color: #f2f3ef !important; cursor: pointer; }
html.nv.nv-page details[open] summary { border-bottom: 1px solid rgba(255,255,255,0.06); }
html.nv.nv-page details > p { padding: 4px 18px 14px !important; margin: 8px 0 0 !important; }
/* busca / chips de categoria */
html.nv.nv-page .search input {
  background: rgba(0,0,0,0.28) !important; border: 1px solid rgba(255,255,255,0.14) !important; color: #f2f3ef !important;
  border-radius: 999px !important; padding: 12px 18px !important; font: 15px var(--nv-font) !important;
}
html.nv.nv-page .search button { background: #4e6b3d !important; color: #fff !important; border-radius: 999px !important; padding: 0 22px !important; font: 600 15px var(--nv-font) !important; cursor: pointer; }
html.nv.nv-page .cats { gap: 10px !important; }
html.nv.nv-page .cats a {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.06) !important; border: 1px solid rgba(255,255,255,0.12); color: #e6e8e1 !important;
  padding: 9px 14px !important; font-size: 15px !important; border-radius: 999px !important;
}
html.nv.nv-page .cats a:hover { background: #4e6b3d !important; border-color: #6c8c57; color: #fff !important; }
html.nv.nv-page .btn { background: #4e6b3d !important; color: #fff !important; border-radius: 999px !important; padding: 12px 18px !important; font: 600 15px var(--nv-font) !important; }
html.nv.nv-page .btn.alt { background: rgba(255,255,255,0.10) !important; }
html.nv.nv-page .photo, html.nv.nv-page .gallery img { border-radius: 18px !important; }
html.nv.nv-page dl.facts div { border-bottom-color: rgba(255,255,255,0.08) !important; }
html.nv.nv-page dl.facts dt { color: #a9ada3 !important; }
html.nv.nv-page code { background: rgba(255,255,255,0.08); padding: 1px 6px; border-radius: 6px; }

/* Lista de pontos → grade de cartões */
html.nv.nv-page ul.places { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
html.nv.nv-page ul.places li {
  position: relative; display: flex; flex-direction: column; padding: 0 0 14px !important; border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 18px; overflow: hidden; background: rgba(255,255,255,0.04); transition: border-color .15s, transform .15s;
}
html.nv.nv-page ul.places li:hover { border-color: rgba(255,255,255,0.22) !important; transform: translateY(-2px); }
html.nv.nv-page ul.places li > a { order: 2; padding: 12px 16px 0; font: 600 17px/1.3 var(--nv-font) !important; color: #fff !important; }
html.nv.nv-page ul.places li > a::after { content: ""; position: absolute; inset: 0; }
html.nv.nv-page ul.places li > .where { order: 3; padding: 4px 16px 0; font-size: 13px !important; color: #a9ada3 !important; }
html.nv.nv-page ul.places li > div:not(.where):not(.nv-thumb) { order: 4; padding: 8px 16px 0; font-size: 14px; color: #c9ccc4; line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nv-thumb { order: 1; height: 150px; background: linear-gradient(135deg, #263222, #151815); display: grid; place-items: center; color: rgba(255,255,255,0.35); position: relative; }
.nv-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nv-thumb .nv-rating { position: absolute; right: 10px; top: 10px; background: rgba(14,16,14,0.75); color: #f2ad6b; border-radius: 999px; padding: 4px 10px; font: 600 13px var(--nv-font); }
.nv-cat-hero { display: flex; align-items: center; gap: 16px; margin: 6px 0 10px; }
.nv-cat-ico {
  width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; flex: none;
  background: rgba(95,122,74,0.25); border: 1px solid rgba(185,210,157,0.25); color: #b9d29d; font-size: 34px;
}
.nv-cat-hero h1 { margin: 0 !important; }

@media (max-width: 700px) {
  .nv-header { padding: 10px 10px 0; }
  .nv-header-inner { height: 56px; gap: 8px; padding: 0 6px 0 14px; border-radius: 18px; }
  .nv-brand img { height: 24px; }
  .nv-tab { padding: 9px 12px; font-size: 14px; }
  .nv-cta span { display: none; }
  .nv-cta { padding: 10px; }
  html.nv.nv-page main, html.nv.nv-page .wrap { width: calc(100% - 20px); padding: 24px 18px 28px; margin-top: 16px; border-radius: 20px; }
  html.nv.nv-page h1 { font-size: 30px !important; }
  html.nv.nv-page ul.places { grid-template-columns: 1fr; }
  .nv-cat-ico { width: 52px; height: 52px; font-size: 28px; border-radius: 16px; }
}

/* hidden precisa vencer o display:flex inline da barra */
html.nv #go360-appbar[hidden] { display: none !important; }

/* ---------- 8. Ajustes pós-revisão ---------- */
html.nv .map-panel .panel-head { border-bottom: 0 !important; }
html.nv[data-theme="dark"] .user-panel .panel-head, html.nv .user-panel .panel-head { background: transparent !important; }
html.nv .user-panel .panel-head .chip { background: rgba(255,255,255,0.08); color: var(--nv-text-2); }
@media (min-width: 961px) {
  html.nv .site-copyright-corner { left: 52px; bottom: 12px; }
  html.nv .maplibregl-ctrl-bottom-right { bottom: 6px; }
}
.nv-thumb { display: flex !important; align-items: center; justify-content: center; overflow: hidden; flex: none; }
.nv-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* neutraliza os seletores genéricos "header"/"footer"/"nav" das páginas antigas sobre o header/rodapé novos */
html.nv .nv-header {
  position: sticky !important; top: 0; display: block !important; background: transparent !important; border: 0 !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important; box-shadow: none !important; padding: 14px 16px 0 !important; gap: 0 !important;
}
html.nv .nv-header nav.nv-tabs { display: flex !important; flex-wrap: nowrap !important; gap: 4px !important; font-size: 15px !important; align-items: center; }
html.nv .nv-footer {
  border: 0 !important; margin-top: auto !important; padding: 40px 16px 28px !important; color: #a9ada3 !important; font-size: 14px !important; background: transparent !important;
}
html.nv .nv-footer nav { display: flex !important; flex-wrap: wrap !important; gap: 6px 18px !important; }
html.nv.nv-page h2 { text-transform: none !important; }
@media (max-width: 700px) {
  html.nv .nv-header { padding: 10px 10px 0 !important; }
  html.nv .nv-header .nv-tab:first-child { display: none; }
  html.nv .nv-header nav.nv-tabs { mask-image: linear-gradient(90deg, #000 85%, transparent); -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); }
}
@media (max-width: 960px) {
  html.nv[data-phone="menu"] .sub-menu, html.nv[data-phone="menu"] .sub-menu[hidden] { flex-wrap: nowrap !important; }
  html.nv .cat-bar-panel { top: 76px; left: 62px; right: 62px; }
}
html.nv #go360-modal .btn { background: none !important; padding: 0 !important; border-radius: 0 !important; }
/* popup acima do header flutuante (o mapa agora fica por trás do header) */
html.nv .go-place-popup-wrap.maplibregl-popup { z-index: 45; }
/* textos pequenos do popup / Ver lugar / clima / comentários */
html.nv .go-wx-day-label, html.nv .go-wx-desc, html.nv .go-wx-rain, html.nv .go-wx-sub, html.nv .go-wx-min { font-size: 13px !important; }
html.nv .go-wx-note, html.nv .pc-replyto, html.nv time.pc-when { font-size: 13px !important; }
html.nv .go-pop-rating-label { font-size: 13px !important; text-transform: none !important; letter-spacing: 0.01em !important; }
html.nv .go-pop-reviews, html.nv .go-pop-badge { font-size: 13px !important; }
html.nv .go-pop-actions .btn { font-size: 15px !important; min-height: 42px; }
html.nv .user-view-link, html.nv .user-view { color: var(--nv-orange-text) !important; }
html.nv .go-pop-desc { font-size: 15px; line-height: 1.5; }
html.nv #go360-appbar { color: #c9ccc4 !important; background: #090a09 !important; }
@media (min-width: 961px) {
  html.nv .search-expand.is-open .search-panel { width: min(340px, 100%); }
  html.nv .search-results { width: min(420px, calc(100vw - 32px)); right: 0; }
}
@media (min-width: 961px) and (max-width: 1320px) {
  html.nv:has(.search-expand.is-open) #subMenu { visibility: hidden; }
}
@media (min-width: 961px) and (max-width: 1100px) {
  html.nv .clock { display: none; }
  html.nv #subMenu [data-menu="credits"] { display: none; }
}
/* sem SF Compact (.otf pesado) no preview */
html.nv .place-drawer .place-drawer-body .go-pop-desc { font-family: var(--nv-font) !important; font-size: 17px; }

/* ===== Painel do usuário recolhível (barra com avatar) — novo-visual.js §5 ===== */
html.nv .user-panel .nv-pcol { display: grid; grid-template-rows: minmax(0, 1fr); flex: 1 1 auto; min-height: 0; transition: grid-template-rows .3s cubic-bezier(.2,.7,.2,1); }
html.nv .user-panel .nv-pcol > .panel-body { min-height: 0; transition: opacity .25s ease; }
html.nv .user-panel .nv-pbar { display: none; }
html.nv .user-panel.nv-collapsible .nv-pbar {
  display: flex; align-items: center; gap: 12px; width: 100%; flex-shrink: 0;
  padding: 10px 14px; margin: 0; border: 0; background: transparent; color: var(--nv-text);
  font: inherit; text-align: left; cursor: pointer; border-radius: var(--nv-radius);
}
html.nv .user-panel.nv-collapsible .nv-pbar:hover { background: rgba(255,255,255,0.05); }
html.nv .user-panel.nv-collapsible .nv-pbar:focus-visible { outline: 2px solid var(--nv-olive-text); outline-offset: -2px; }
html.nv .user-panel.nv-collapsible.nv-open .nv-pbar { border-radius: var(--nv-radius) var(--nv-radius) 0 0; border-bottom: 1px solid var(--nv-line); }
html.nv .nv-pbar-av { flex: 0 0 auto; display: inline-flex; }
html.nv .nv-pbar-av .user-avatar {
  width: 40px !important; height: 40px !important; margin: 0 !important; border-radius: 50% !important;
  border-width: 2px; border-style: solid; overflow: hidden; display: inline-flex; align-items: center; justify-content: center;
  background: var(--nv-olive-2); color: #fff; font-size: 15px; font-weight: 700;
}
html.nv .nv-pbar-av .user-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
html.nv .nv-pbar-av .nv-pbar-generic { border-color: rgba(255,255,255,0.18) !important; background: rgba(255,255,255,0.08); color: var(--nv-text-2); }
html.nv .nv-pbar-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
html.nv .nv-pbar-name { font-size: 15px; font-weight: 600; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.nv .nv-pbar-sub { font-size: 13px; color: var(--nv-text-2); line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.nv .nv-pbar-chev { flex: 0 0 auto; color: var(--nv-olive-text); transition: transform .3s ease; }
html.nv .user-panel.nv-open .nv-pbar-chev { transform: rotate(180deg); }
html.nv .user-panel.nv-collapsible > .panel-head { display: none; }
html.nv .user-panel.nv-collapsible:not(.nv-open) { flex: 0 0 auto !important; }
html.nv .user-panel.nv-collapsible:not(.nv-open) .nv-pcol { grid-template-rows: minmax(0, 0fr); }
html.nv .user-panel.nv-collapsible:not(.nv-open) .nv-pcol > .panel-body { opacity: 0; overflow: hidden; }
/* no corpo expandido, avatar/nome/@ já aparecem na barra */
html.nv .user-panel.nv-pmode-user .user-profile > .user-avatar,
html.nv .user-panel.nv-pmode-user .user-profile > .user-fullname,
html.nv .user-panel.nv-pmode-user .user-profile > .user-username { display: none; }
html.nv[data-theme="light"] .user-panel.nv-collapsible .nv-pbar:hover { background: rgba(0,0,0,0.04); }
html.nv[data-theme="light"] .nv-pbar-av .nv-pbar-generic { border-color: rgba(0,0,0,0.15) !important; background: rgba(0,0,0,0.05); }
@media (prefers-reduced-motion: reduce) {
  html.nv .user-panel .nv-pcol, html.nv .nv-pbar-chev, html.nv .user-panel .nv-pcol > .panel-body { transition: none; }
}
@media (max-width: 960px) {
  html.nv .user-panel.nv-collapsible .nv-pbar { padding: 12px 14px; min-height: 60px; }
  html.nv[data-phone="panel"] .user-panel.nv-collapsible.nv-open { flex: 1 1 auto; }
}

/* ===== Tema único escuro + topo compacto com perfil à direita (19/10, rodada 3) ===== */
html.nv { color-scheme: dark; }
html.nv #themeToggle, html.nv .theme-toggle { display: none !important; }
/* contador "Pontos no mapa / Viajantes" removido (o JS continua atualizando, só não aparece) */
html.nv .status-panel, html.nv #statusBar { display: none !important; }
@media (min-width: 961px) {
  html.nv { --nv-gut: 16px; --nv-gap: 12px; --nv-side-w: 360px; --nv-top-h: 64px; }
  html.nv .topbar { top: var(--nv-gut); left: var(--nv-gut); right: calc(var(--nv-gut) + var(--nv-side-w) + var(--nv-gap)); height: var(--nv-top-h); min-height: var(--nv-top-h); padding: 0 10px 0 18px; gap: 10px; }
  html.nv .clock { display: none !important; }
  html.nv .topbar-right { gap: 8px; }
  html.nv .lang-switch button { padding: 7px 10px; }
  /* coluna da direita começa na mesma linha do menu */
  html.nv .col-side, html.nv body.is-form-wide .col-side { top: var(--nv-gut); right: var(--nv-gut); width: var(--nv-side-w); bottom: 92px; gap: var(--nv-gap); }
  /* formulário largo (novo ponto) desce abaixo do menu para não cobrir o topo */
  html.nv body.is-form-wide .col-side { top: calc(var(--nv-gut) + var(--nv-top-h) + var(--nv-gap)); width: 460px; }
  html.nv .user-panel.nv-collapsible .nv-pbar { min-height: calc(var(--nv-top-h) - 2px); padding: 0 14px; }
  html.nv .user-panel.nv-collapsible:not(.nv-open) { border-radius: var(--nv-radius); }
  html.nv .user-panel .panel-head { min-height: calc(var(--nv-top-h) - 2px); }
  /* abas */
  html.nv #subMenu, html.nv #subMenu[hidden] { top: var(--nv-gut); left: 214px; height: var(--nv-top-h); gap: 2px; }
  html.nv #subMenu .sub-menu-btn { padding: 9px 12px; white-space: nowrap; }
  html.nv #subMenu .nv-tab-map { display: none !important; }   /* já estamos no mapa; o logo leva ao início */
  html.nv:has(.search-expand.is-open) #subMenu { visibility: hidden; }
  html.nv .search-expand.is-open .search-panel { width: min(320px, 100%); }
}
@media (min-width: 1380px) {
  html.nv #subMenu .nv-tab-map { display: inline-flex !important; }
  html.nv #subMenu .sub-menu-btn { padding: 9px 14px; }
}
/* 961–1239px: as abas viram o menu (botão ☰ do próprio app) num cartão de vidro */
@media (min-width: 961px) and (max-width: 1239px) {
  html.nv { --nv-side-w: 320px; }
  html.nv .top-nav { display: flex !important; margin-left: 10px; }
  html.nv .top-nav .menu-toggle { display: inline-flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px; background: var(--nv-glass-soft); border: 1px solid var(--nv-line); color: var(--nv-text); }
  html.nv #subMenu, html.nv #subMenu[hidden] { display: none !important; }
  html.nv #subMenu:not([hidden]) {
    display: flex !important; flex-direction: column; align-items: stretch; height: auto; top: calc(var(--nv-gut) + var(--nv-top-h) + 8px); left: 200px;
    min-width: 220px; padding: 8px; gap: 2px; z-index: 46;
    background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
    border: 1px solid var(--nv-line); border-radius: var(--nv-radius); box-shadow: var(--nv-shadow);
  }
  html.nv #subMenu:not([hidden]) .sub-menu-btn { justify-content: flex-start; text-align: left; border-radius: 12px; }
  html.nv #subMenu [data-menu="credits"] { display: inline-flex !important; }
  html.nv:has(.search-expand.is-open) .top-nav { visibility: hidden; }
}
@media (max-width: 960px) {
  html.nv .clock { display: none !important; }
}

/* ===== Barra inferior de categorias (carrossel) + botão "i" na barra de ferramentas (rodada 5) ===== */
html.nv #btnCategories, html.nv .map-tools .btn-categories { display: none !important; }
/* créditos do MapLibre e copyright do canto saem do mapa: vão para o popover do botão "i" */
html.nv .maplibregl-ctrl-bottom-right .maplibregl-ctrl-attrib { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; }
html.nv .site-copyright-corner { display: none !important; }
html.nv #catBarPanel.nv-catbar, html.nv #catBarPanel.nv-catbar[hidden] {
  display: flex !important; align-items: center; gap: 4px; position: absolute; z-index: 31;
  top: auto; max-height: none; overflow: hidden; width: auto;
  padding: 6px; background: var(--nv-glass); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line); border-radius: 999px; box-shadow: var(--nv-shadow);
}
html.nv #catBarPanel.nv-catbar #catBar {
  flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: nowrap !important; gap: 6px; align-items: center;
  overflow-x: auto; overflow-y: hidden; white-space: nowrap; scroll-snap-type: x proximity; overscroll-behavior-x: contain;
  scrollbar-width: none; -ms-overflow-style: none; touch-action: pan-x; cursor: grab;
  padding: 0 2px; margin: 0; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 999px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
}
html.nv #catBarPanel.nv-at-start #catBar { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent 100%); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent 100%); }
html.nv #catBarPanel.nv-at-end #catBar { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28px); mask-image: linear-gradient(90deg, transparent 0, #000 28px); }
html.nv #catBarPanel.nv-at-start.nv-at-end #catBar { -webkit-mask-image: none; mask-image: none; }
html.nv #catBarPanel.nv-catbar #catBar::-webkit-scrollbar { display: none; }
html.nv #catBarPanel.nv-catbar #catBar.is-dragging { cursor: grabbing; scroll-snap-type: none; }
html.nv #catBarPanel.nv-catbar #catBar.is-dragging .cat-chip { pointer-events: none; }
html.nv #catBarPanel.nv-catbar .cat-chip { flex: 0 0 auto; scroll-snap-align: start; height: 44px; padding: 0 14px; font-size: 14px; white-space: nowrap; user-select: none; -webkit-user-select: none; }
html.nv #catBarPanel.nv-catbar .nv-cat-arrow {
  flex: 0 0 auto; width: 44px; height: 44px; min-width: 44px; padding: 10px; border-radius: 999px; border: 0 !important;
  background: transparent !important; color: var(--nv-text); box-shadow: none !important; display: inline-flex; align-items: center; justify-content: center;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
html.nv #catBarPanel.nv-catbar .nv-cat-arrow:hover:not(:disabled) { background: rgba(255,255,255,0.10) !important; }
html.nv #catBarPanel.nv-catbar .nv-cat-arrow:disabled { opacity: 0.3; cursor: default; filter: none; }
/* popover do "i" */
html.nv .nv-info-pop {
  position: absolute; z-index: 46; width: min(380px, calc(100vw - 32px)); max-height: min(60vh, 420px); overflow: auto;
  padding: 14px 16px; font-size: 13px; line-height: 1.5; color: var(--nv-text-2);
  background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line); border-radius: var(--nv-radius); box-shadow: var(--nv-shadow);
}
html.nv .nv-info-pop[hidden] { display: none; }
html.nv .nv-info-pop a { color: var(--nv-orange-text); }
html.nv .nv-info-copy { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--nv-line); font-size: 13px; }
html.nv .map-tools #nvInfo.is-active { background: rgba(255,255,255,0.14); }
/* status off-line: topo central (o canto inferior esquerdo agora é a barra de categorias) */
html.nv .map-panel .panel-head h1 { left: 50% !important; bottom: auto !important; top: calc(var(--nv-appbar-h, 0px) + 92px); transform: translateX(-50%); z-index: 33; }
@media (min-width: 961px) {
  html.nv #catBarPanel.nv-catbar, html.nv #catBarPanel.nv-catbar[hidden] {
    left: 16px; bottom: 24px; right: calc(var(--nv-tools-w, 480px) + var(--nv-zoom-w, 92px) + 12px);
  }
  /* zoom: mesmo alinhamento (base) da barra de ferramentas */
  html.nv .maplibregl-ctrl-top-right .maplibregl-ctrl { margin: 0 !important; }
  html.nv .maplibregl-ctrl-top-right { right: var(--nv-tools-w, 480px) !important; bottom: 24px !important; }
  /* Destaques: logo abaixo do menu, acima da barra de categorias */
  html.nv .nv-places { top: 92px !important; bottom: 94px !important; }
  html.nv .nv-info-pop { right: 16px; bottom: 94px; }
}
/* tela estreita: categorias numa linha própria logo acima das ferramentas */
@media (min-width: 961px) and (max-width: 1099px) {
  html.nv #catBarPanel.nv-catbar, html.nv #catBarPanel.nv-catbar[hidden] { right: 16px; bottom: 94px; }
  html.nv .nv-places { bottom: 164px !important; }
  html.nv .col-side, html.nv body.is-form-wide .col-side { bottom: 164px; }
  html.nv .nv-info-pop { bottom: 164px; }
}
@media (max-width: 960px) {
  html.nv #catBarPanel.nv-catbar, html.nv #catBarPanel.nv-catbar[hidden] {
    left: 16px; right: 16px; bottom: calc(76px + env(safe-area-inset-bottom)); padding: 4px; gap: 2px;
  }
  html.nv #catBarPanel.nv-catbar .cat-chip { height: 40px; padding: 0 12px; font-size: 14px; }
  html.nv #catBarPanel.nv-catbar .nv-cat-arrow { width: 36px; height: 40px; min-width: 36px; padding: 6px; }
  html.nv .nv-info-pop { left: 16px; right: 16px; width: auto; bottom: calc(136px + env(safe-area-inset-bottom)); }
  /* mapa: créditos do MapLibre não ficam mais sobre o dock */
  html.nv .maplibregl-ctrl-bottom-right, html.nv .maplibregl-ctrl-bottom-left { bottom: calc(136px + env(safe-area-inset-bottom)); }
}

/* ===== Ícones brancos nos chips da barra de categorias (só o carrossel) ===== */
html.nv #catBarPanel.nv-catbar .cat-chip .icon-wrap,
html.nv #catBarPanel.nv-catbar .cat-chip iconify-icon,
html.nv #catBarPanel.nv-catbar .cat-chip > svg { color: #f2f2ee !important; }
html.nv #catBarPanel.nv-catbar .cat-chip svg [fill]:not([fill="none"]) { fill: currentColor !important; }
html.nv #catBarPanel.nv-catbar .cat-chip svg [stroke]:not([stroke="none"]) { stroke: currentColor !important; }
html.nv #catBarPanel.nv-catbar .cat-chip img { filter: brightness(0) invert(1) !important; opacity: 0.95; }

/* ===== Janelas secundárias no padrão de vidro (Planejador de Rota etc.) — rodada 7 ===== */
html.nv .trip-planner-panel {
  background: var(--nv-glass-strong) !important; color: var(--nv-text);
  -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line) !important; border-radius: var(--nv-radius); box-shadow: var(--nv-shadow);
  font-family: var(--nv-font); z-index: 60;
}
html.nv .trip-planner-panel .tp-header { background: transparent !important; border-bottom: 1px solid var(--nv-line); padding: 14px 18px; }
html.nv .trip-planner-panel .tp-header h3 { font-size: 15px; font-weight: 600; letter-spacing: 0.02em; text-transform: none; color: var(--nv-olive-text); }
html.nv .trip-planner-panel .tp-body { padding: 16px 18px 0; scrollbar-color: rgba(255,255,255,0.18) transparent; }
html.nv .trip-planner-panel .tp-field label { font-size: 13px; font-weight: 600; letter-spacing: 0.02em; text-transform: none; color: var(--nv-text-2); }
html.nv .trip-planner-panel .tp-field input, html.nv .trip-planner-panel .tp-field select, html.nv .trip-planner-panel .tp-wp-label, html.nv .trip-planner-panel input[type="text"] {
  background: rgba(0,0,0,0.28) !important; border: 1px solid var(--nv-line-2) !important; color: var(--nv-text) !important;
  border-radius: 14px; font: 15px/1.3 var(--nv-font); padding: 11px 14px;
}
html.nv .trip-planner-panel .tp-field input:focus, html.nv .trip-planner-panel .tp-field select:focus { border-color: #6c8c57 !important; box-shadow: 0 0 0 3px rgba(95,122,74,0.28); }
/* cartões internos padrão */
html.nv .trip-planner-panel .tp-stops-section, html.nv .trip-planner-panel .tp-veh-note, html.nv .trip-planner-panel .tp-toggle,
html.nv .trip-planner-panel .tp-waypoint, html.nv .trip-planner-panel .tp-save-progress, html.nv .trip-planner-panel .tp-calc-progress {
  background: rgba(255,255,255,0.05) !important; border: 1px solid var(--nv-line) !important; border-radius: 14px;
}
html.nv .trip-planner-panel .tp-waypoint { background: rgba(0,0,0,0.18) !important; }
html.nv .trip-planner-panel .tp-stops-section h4 { font-size: 16px; font-weight: 600; letter-spacing: 0.02em; text-transform: none; color: var(--nv-olive-text); }
html.nv .trip-planner-panel .tp-wp-number { color: var(--nv-orange-text); }
html.nv .trip-planner-panel .btn.ghost { background: rgba(255,255,255,0.06) !important; border: 1px solid var(--nv-line-2) !important; color: var(--nv-text) !important; border-radius: 999px; }
html.nv .trip-planner-panel .btn.primary { background: var(--nv-olive-2) !important; border: 1px solid #6c8c57 !important; color: #fff !important; border-radius: 999px; }
/* rodapé fixo e sólido (Imprimir / Salvar / GPS) */
html.nv .trip-planner-panel .tp-actions {
  position: sticky; bottom: 0; z-index: 2; margin: 4px -18px 0; padding: 12px 18px calc(12px + env(safe-area-inset-bottom));
  background: rgb(24, 26, 24); border-top: 1px solid var(--nv-line);
}
html.nv .trip-planner-panel .tp-save-hint { margin-bottom: 14px; }
@media (min-width: 961px) {
  html.nv .trip-planner-panel { top: calc(var(--nv-appbar-h, 0px) + 16px); right: 16px; bottom: 16px; }
  html.nv .trip-planner-panel .tp-actions { border-radius: 0 0 var(--nv-radius) var(--nv-radius); }
}
@media (max-width: 960px) {
  html.nv .trip-planner-panel { inset: 0; width: 100%; border-radius: 0; border: 0 !important; z-index: 80; }
}
/* enquanto o planejador está aberto, nada do mapa fica por baixo dele aparecendo */
html.nv:has(#tripPlannerPanel:not([hidden])) .map-tools,
html.nv:has(#tripPlannerPanel:not([hidden])) .maplibregl-ctrl-top-right,
html.nv:has(#tripPlannerPanel:not([hidden])) .col-side,
html.nv:has(#tripPlannerPanel:not([hidden])) .nv-info-pop { visibility: hidden; }
@media (max-width: 960px) {
  html.nv:has(#tripPlannerPanel:not([hidden])) .phone-dock,
  html.nv:has(#tripPlannerPanel:not([hidden])) #catBarPanel,
  html.nv:has(#tripPlannerPanel:not([hidden])) .topbar { visibility: hidden !important; }
}
/* outras janelas: mesmo padrão */
html.nv .public-user-modal > div, html.nv .founder-edition-modal > div, html.nv .route-sheet-card {
  background: var(--nv-glass-strong) !important; color: var(--nv-text);
  -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line) !important; box-shadow: var(--nv-shadow);
}
html.nv body.is-form-wide .user-panel, html.nv .user-panel.is-add-form { background: var(--nv-glass-strong); }
@media (min-width: 961px) {
  /* planejador aberto: o menu do topo encolhe até a borda do planejador (nada fica por baixo) */
  html.nv:has(#tripPlannerPanel:not([hidden])) .topbar { right: calc(min(560px, 92vw) + 16px + 12px); }
  html.nv:has(#tripPlannerPanel:not([hidden])) #subMenu { visibility: hidden; }
}
@media (min-width: 1280px) {
  html.nv:has(#tripPlannerPanel:not([hidden])) .topbar { right: calc(min(620px, 92vw) + 16px + 12px); }
}

/* Destaques removido */
html.nv .nv-places { display: none !important; }

/* ===== Botão "Tempo Real" (clima ao vivo) ===== */
html.nv .map-tools #nvRealtime.is-active { background: rgba(95,122,74,0.45) !important; color: #e4f1d6 !important; box-shadow: inset 0 0 0 1px #6c8c57 !important; }
html.nv .map-tools #nvRealtime:not(.is-active) { color: var(--nv-text-2); }
html.nv.nv-rt-off .tornado-marker, html.nv.nv-rt-off .rain-storm-marker, html.nv.nv-rt-off .hurricane-marker { display: none !important; }

/* Botão 3D oculto ("não é necessário por enquanto"); o código 3D continua no app e o mapa sempre abre em 2D */
html.nv .map-tools #btnMap3d { display: none !important; }

/* ===== Animação do Planejador de Rota ===== */
html.nv .trip-planner-panel { will-change: transform, opacity; transform-origin: 50% 50%; }
html.nv .nv-tp-scrim {
  position: fixed; inset: 0; z-index: 59; pointer-events: none; opacity: 0; visibility: hidden;
  background: rgba(8,10,8,0.16); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
html.nv .nv-tp-scrim.is-on { opacity: 1; visibility: visible; }
html.nv body.is-trip-picking .nv-tp-scrim, html.nv:not(:has(#tripPlannerPanel:not([hidden]))) .nv-tp-scrim.is-on { opacity: 0; visibility: hidden; }
html.nv .tp-header { position: relative; }
html.nv .nv-tp-route { width: 112px; height: 18px; margin-left: 10px; margin-right: auto; flex: 0 0 auto; overflow: visible; }
html.nv .nv-tp-route-draw { fill: none; stroke: #fff; stroke-width: 4; stroke-dasharray: 1; stroke-dashoffset: 0; stroke-linecap: round; }
html.nv .nv-tp-route-dash { fill: none; stroke: var(--nv-orange); stroke-width: 2; stroke-dasharray: 4 4; stroke-linecap: round; opacity: 0.9; }
html.nv .nv-tp-route-a { fill: var(--nv-olive-text); transform-box: fill-box; transform-origin: center; }
html.nv .nv-tp-route-b { fill: var(--nv-orange); transform-box: fill-box; transform-origin: center; }
html.nv .nv-tp-ghost { will-change: transform, opacity; }
@media (max-width: 960px) {
  html.nv .nv-tp-scrim { display: none; }
  html.nv .nv-tp-route { width: 84px; }
}
@media (prefers-reduced-motion: reduce) {
  html.nv .nv-tp-scrim { -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* ===== "Novo Ponto" em laranja (destaque) — branco sobre #ba5512 = 4.78:1, hover #bf5815 = 4.54:1, ativo #a5490f = 5.9:1 ===== */
html.nv { --nv-cta: #ba5512; --nv-cta-hover: #bf5815; --nv-cta-active: #a5490f; }
html.nv .map-tools #btnNewPlace, html.nv .map-panel .map-tools #btnNewPlace {
  background: var(--nv-cta) !important; border: 1px solid rgba(255,190,140,0.35) !important; color: #fff !important;
  box-shadow: 0 4px 16px rgba(232,119,46,0.38), 0 0 0 1px rgba(232,119,46,0.18);
  transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
html.nv .map-tools #btnNewPlace iconify-icon { color: #fff !important; }
html.nv .map-tools #btnNewPlace:hover, html.nv .map-panel .map-tools #btnNewPlace:hover {
  background: var(--nv-cta-hover) !important; box-shadow: 0 6px 22px rgba(232,119,46,0.5), 0 0 0 1px rgba(232,119,46,0.28);
}
html.nv .map-tools #btnNewPlace:active, html.nv .map-tools #btnNewPlace.is-active,
html.nv .map-panel .map-tools #btnNewPlace:active, html.nv .map-panel .map-tools #btnNewPlace.is-active {
  background: var(--nv-cta-active) !important; box-shadow: 0 2px 10px rgba(232,119,46,0.35);
}
html.nv .map-tools #btnNewPlace:focus-visible { outline: 2px solid #ffd2ad; outline-offset: 2px; }

/* ===== Barras do topo no padrão das barras de baixo (pílula, mesma altura/vidro/borda/sombra/padding) ===== */
html.nv .topbar, html.nv .user-panel.nv-collapsible {
  background: var(--nv-glass); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line); box-shadow: var(--nv-shadow);
}
html.nv .topbar { border-radius: 999px !important; }
/* botões internos = botões da barra de ferramentas (44px, transparentes, hover sutil) */
html.nv .topbar .search-toggle, html.nv .top-nav .menu-toggle {
  width: 44px !important; height: 44px !important; min-width: 44px; padding: 0; border-radius: 999px !important;
  background: transparent !important; border: 0 !important; color: var(--nv-text) !important;
  display: inline-flex; align-items: center; justify-content: center; transition: background-color .15s ease;
}
html.nv .topbar .search-toggle:hover, html.nv .top-nav .menu-toggle:hover,
html.nv .topbar .search-toggle[aria-expanded="true"], html.nv .top-nav .menu-toggle[aria-expanded="true"] { background: rgba(255,255,255,0.10) !important; }
html.nv .topbar .lang-switch { height: 44px; padding: 4px; gap: 2px; align-items: center; border-radius: 999px; background: rgba(255,255,255,0.06); border: 1px solid var(--nv-line); }
html.nv .topbar .lang-switch button { height: 34px; padding: 0 11px !important; border-radius: 999px; display: inline-flex; align-items: center; transition: background-color .15s ease; }
html.nv .topbar .lang-switch button:not(.is-on):hover { background: rgba(255,255,255,0.10); }
html.nv .topbar .search-wrap input, html.nv .topbar #search { height: 44px; }
/* barra do perfil: pílula fechada, cartão de 20px aberto, com transição */
html.nv .user-panel.nv-collapsible { transition: border-radius .3s cubic-bezier(.2,.8,.2,1), background-color .2s ease; }
html.nv .user-panel.nv-collapsible:not(.nv-open) { border-radius: calc(var(--nv-top-h, 58px) / 2) !important; }
html.nv .user-panel.nv-collapsible.nv-open { border-radius: var(--nv-radius) !important; }
html.nv .user-panel.nv-collapsible .nv-pbar { padding: 0 16px 0 6px !important; gap: 12px; border-radius: calc(var(--nv-top-h, 58px) / 2); transition: border-radius .3s cubic-bezier(.2,.8,.2,1); }
html.nv .user-panel.nv-collapsible.nv-open .nv-pbar { border-radius: var(--nv-radius) var(--nv-radius) 0 0; }
html.nv .user-panel.nv-collapsible .nv-pbar:hover { background: rgba(255,255,255,0.06); }
html.nv .nv-pbar-av .user-avatar { width: 44px !important; height: 44px !important; }
html.nv .nv-pbar-chev { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; }
html.nv .user-panel.nv-collapsible .nv-pbar:hover .nv-pbar-chev { background: rgba(255,255,255,0.08); }
@media (min-width: 961px) {
  html.nv { --nv-top-h: 58px; }                 /* = altura do carrossel/barra de ferramentas */
  html.nv .topbar { padding: 0 6px 0 20px !important; }
  html.nv .user-panel.nv-collapsible .nv-pbar { min-height: calc(var(--nv-top-h) - 2px) !important; }
}
@media (max-width: 960px) {
  html.nv { --nv-top-h: 50px; }                 /* = altura do carrossel no celular */
  html.nv .topbar { height: 50px !important; min-height: 50px !important; padding: 0 4px 0 14px !important; }
  html.nv .topbar .search-toggle { width: 40px !important; height: 40px !important; min-width: 40px; }
  html.nv .topbar .lang-switch { height: 40px; padding: 3px; }
  html.nv .topbar .lang-switch button { height: 32px; padding: 0 9px !important; }
  html.nv .topbar .search-wrap input, html.nv .topbar #search { height: 40px; }
  html.nv .map-panel .panel-head, html.nv .maplibregl-ctrl-top-right { top: 72px; }
  html.nv[data-phone="panel"] .col-side, html.nv[data-phone="menu"] .col-map { padding-top: 70px; }
  html.nv .user-panel.nv-collapsible .nv-pbar { min-height: 56px !important; padding: 0 14px 0 6px !important; }
  html.nv .user-panel.nv-collapsible:not(.nv-open) { border-radius: 28px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html.nv .user-panel.nv-collapsible, html.nv .user-panel.nv-collapsible .nv-pbar { transition: none; }
}

/* ===== Barra "Baixe o app" temporária: some em ~500ms e o layout sobe junto (sem salto) ===== */
@property --nv-appbar-h { syntax: "<length>"; inherits: true; initial-value: 0px; }
html.nv.nv-appbar-gone { --nv-appbar-h: 0px !important; }
html.nv.nv-appbar-gone #go360-appbar { display: none !important; }
html.nv.nv-appbar-gone #go360-appbar ~ .app { height: 100dvh; }
html.nv.nv-appbar-out { --nv-appbar-h: 0px !important; transition: --nv-appbar-h .5s cubic-bezier(.2,.8,.2,1); }
html.nv.nv-appbar-out #go360-appbar {
  margin-top: calc(var(--nv-appbar-h) - 44px); opacity: 0; pointer-events: none;
  transition: opacity .4s ease;
}
html.nv.nv-appbar-out #go360-appbar ~ .app { height: calc(100dvh - var(--nv-appbar-h)); }

/* ===== Micro-interações + revelação das páginas internas ===== */
html.nv .cat-chip { transition: background-color .28s cubic-bezier(.2,.8,.2,1), color .28s ease, border-color .28s ease, box-shadow .28s ease, transform .14s ease; }
html.nv .cat-chip:active { transform: scale(.95); }
html.nv .cat-chip.is-on iconify-icon, html.nv .cat-chip[aria-selected="true"] iconify-icon { animation: nv-chip-pop .32s cubic-bezier(.2,.8,.2,1); }
@keyframes nv-chip-pop { 0% { transform: scale(.7); } 60% { transform: scale(1.12); } 100% { transform: none; } }
html.nv .map-tools button, html.nv .maplibregl-ctrl-group button, html.nv .nv-cat-prev, html.nv .nv-cat-next,
html.nv .topbar .search-toggle, html.nv .topbar .lang-switch button, html.nv .top-nav .menu-toggle, html.nv .nv-pbar {
  transition: background-color .15s ease, box-shadow .15s ease, transform .12s ease;
}
html.nv .map-tools button:active, html.nv .maplibregl-ctrl-group button:active, html.nv .nv-cat-prev:active, html.nv .nv-cat-next:active,
html.nv .topbar .search-toggle:active, html.nv .topbar .lang-switch button:active, html.nv .top-nav .menu-toggle:active { transform: scale(.94); }
html.nv .map-tools #btnNewPlace:active { transform: scale(.94); }
html.nv .nv-rv { opacity: 0; }
html.nv .nv-ghost { will-change: transform, opacity; }
@media print { html.nv .nv-rv { opacity: 1 !important; } }
@media (prefers-reduced-motion: reduce) {
  html.nv .cat-chip iconify-icon { animation: none !important; }
  html.nv .map-tools button:active, html.nv .cat-chip:active { transform: none; }
}

/* ===== Novo Ponto (painel largo): menu do topo encolhe e o painel fica alinhado no topo, como no Planejador ===== */
@media (min-width: 961px) {
  html.nv { --nv-form-w: 460px; }
  html.nv .topbar { transition: right .45s cubic-bezier(.2,.8,.2,1); }
  html.nv body.is-form-wide .col-side { top: var(--nv-gut) !important; width: var(--nv-form-w); }
  html.nv body.is-form-wide .topbar { right: calc(var(--nv-gut) + var(--nv-form-w) + var(--nv-gap)); }
  /* o cartão do formulário vira uma "faixa" contínua com o menu: mesma borda superior */
  html.nv body.is-form-wide .col-side .user-panel { max-height: 100%; }
  html.nv body.is-form-wide #subMenu .nv-tab-map { display: none !important; }
}
/* 1240–1279px: com o painel largo não cabem as abas → somem enquanto o formulário está aberto (como no Planejador) */
@media (min-width: 1240px) and (max-width: 1279px) {
  html.nv body.is-form-wide #subMenu, html.nv body.is-form-wide #subMenu[hidden] { opacity: 0; visibility: hidden; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) { html.nv .topbar { transition: none; } }
/* etiqueta "novo ponto" do cabeçalho do painel em laranja, igual ao botão da barra */
html.nv .user-panel.is-add-form #panelMode, html.nv body.is-form-wide #panelMode {
  background: #ba5512 !important; color: #fff !important; border-color: rgba(255,190,140,0.35) !important;
  box-shadow: 0 4px 14px rgba(232,119,46,0.32);
}

/* ===== Ícones centrados nos botões redondos: o <svg> do iconify (shadow DOM) mede 24px pelos atributos;
   o host estava com 22px/17px → o desenho vazava 1–3px para baixo/direita. Host = 24px, flex, sem baseline. ===== */
html.nv .map-tools button, html.nv .topbar .search-toggle, html.nv .top-nav .menu-toggle, html.nv .nv-cat-prev, html.nv .nv-cat-next,
html.nv .maplibregl-ctrl-group button, html.nv .nv-pbar-chev {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; line-height: 0 !important;
}
html.nv .map-tools button iconify-icon, html.nv .topbar .search-toggle iconify-icon, html.nv .top-nav .menu-toggle iconify-icon,
html.nv .nv-cat-prev iconify-icon, html.nv .nv-cat-next iconify-icon, html.nv .nv-pbar-chev iconify-icon {
  display: flex !important; flex: 0 0 auto; align-items: center; justify-content: center; line-height: 0 !important; vertical-align: 0 !important; margin: 0 !important;
}
html.nv .map-tools button iconify-icon[width="24"], html.nv .map-tools button iconify-icon:not([width]) { width: 24px !important; height: 24px !important; font-size: 24px !important; }
html.nv .map-tools button iconify-icon[width="22"] { width: 22px !important; height: 22px !important; font-size: 22px !important; }
html.nv .map-tools button iconify-icon[width="20"], html.nv .topbar .search-toggle iconify-icon[width="20"] { width: 20px !important; height: 20px !important; font-size: 20px !important; }
html.nv .map-tools button > svg, html.nv .nv-cat-prev svg, html.nv .nv-cat-next svg { display: block; flex: 0 0 auto; }
html.nv .nv-cat-prev iconify-icon, html.nv .nv-cat-next iconify-icon { width: 22px !important; height: 22px !important; font-size: 22px !important; }
/* celular, aba Painel: o menu do topo fica na aba Mapa (fora da tela) → sem o vão de 70px em cima do painel / formulário */
@media (max-width: 960px) {
  html.nv[data-phone="panel"] .col-side { padding-top: calc(10px + env(safe-area-inset-top)) !important; }
}

/* ===== Barra de status fina no rodapé (links do antigo menu + copyright, estilo rodapé da Apple) ===== */
html.nv { --nv-sb-h: 34px; --nv-sb-b: 12px; --nv-raise: 32px; }
html.nv .nv-status {
  position: fixed; z-index: 30; left: var(--nv-gut, 16px); right: var(--nv-gut, 16px); bottom: var(--nv-sb-b);
  height: var(--nv-sb-h); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 18px;
  background: var(--nv-glass); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line); border-radius: 999px; box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  font: 400 12.5px/1 var(--nv-font); color: rgba(242,243,239,0.55); white-space: nowrap; overflow: hidden;
}
html.nv .nv-status-copy { margin: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; color: rgba(242,243,239,0.48); }
html.nv .nv-status-copy a, html.nv .nv-status-link { color: rgba(242,243,239,0.72); text-decoration: none; transition: color .15s ease; }
html.nv .nv-status-links { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
html.nv .nv-status-link { background: none; border: 0; padding: 4px 0; font: inherit; cursor: pointer; }
html.nv .nv-status-copy a:hover, html.nv .nv-status-link:hover, html.nv .nv-status-link:focus-visible { color: #fff; }
html.nv .nv-status-link:focus-visible { outline: 2px solid var(--nv-olive-text); outline-offset: 2px; border-radius: 4px; }
html.nv .nv-status-sep { color: rgba(242,243,239,0.22); }
html.nv:not(.nv) .nv-status { display: none; }
/* some junto com as barras quando o Planejador abre */
html.nv:has(#tripPlannerPanel:not([hidden])) .nv-status { opacity: 0; visibility: hidden; }
html.nv .nv-status { transition: opacity .25s ease, visibility .25s; }

@media (min-width: 961px) {
  /* barras de baixo sobem para abrir espaço para a barra de status */
  html.nv .map-tools, html.nv #catBarPanel.nv-catbar, html.nv .maplibregl-ctrl-top-right, html.nv .nv-info-pop { translate: 0 calc(-1 * var(--nv-raise)); }
  html.nv .col-side, html.nv body.is-form-wide .col-side { bottom: calc(92px + var(--nv-raise)); }
  /* topo: só logo + busca + idiomas (as abas foram para o rodapé) */
  html.nv #subMenu, html.nv #subMenu[hidden], html.nv #subMenu:not([hidden]), html.nv .top-nav, html.nv .top-nav .menu-toggle { display: none !important; }
  html.nv .topbar, html.nv body.is-form-wide .topbar, html.nv:has(#tripPlannerPanel:not([hidden])) .topbar {
    right: auto !important; width: auto; grid-template-columns: auto auto auto; gap: 14px;
    max-width: calc(100vw - var(--nv-side-w) - 2 * var(--nv-gut) - var(--nv-gap));
  }
  html.nv .topbar .topbar-center { justify-content: flex-end; }
}
@media (min-width: 961px) and (max-width: 1099px) {
  html.nv .col-side, html.nv body.is-form-wide .col-side { bottom: calc(164px + var(--nv-raise)); }
}
@media (max-width: 1099px) and (min-width: 961px) { html.nv .nv-status-copy { flex: 1 1 auto; } }

/* celular: faixa fina logo acima do Mapa/Painel/Menu; links rolam na horizontal se não couberem */
@media (max-width: 960px) {
  html.nv { --nv-sb-h: 30px; --nv-raise: 36px; }
  html.nv .nv-status {
    left: 16px; right: 16px; bottom: calc(74px + env(safe-area-inset-bottom)); padding: 0 14px; font-size: 12px;
    justify-content: flex-start; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  html.nv .nv-status::-webkit-scrollbar { display: none; }
  html.nv .nv-status-links { order: -1; }
  html.nv .nv-status-copy { overflow: visible; flex: 0 0 auto; }
  html.nv #catBarPanel.nv-catbar, html.nv .nv-info-pop { translate: 0 calc(-1 * var(--nv-raise)); }
  html.nv[data-phone="panel"] .nv-status, html.nv[data-phone="menu"] .nv-status { display: none; }
  html.nv:has(#tripPlannerPanel:not([hidden])) .nv-status { display: none; }
}
@media (prefers-reduced-motion: reduce) { html.nv .nv-status { transition: none; } }

/* ===== Aviso "Clique no mapa…" (modo de adicionar ponto): vidro vermelho, centrado, acima das barras de baixo ===== */
html.nv .map-add-hint, html.nv .map-panel .map-add-hint {
  position: fixed !important; z-index: 45; left: 50% !important; right: auto !important; top: auto !important;
  bottom: var(--nv-hint-b, 120px) !important; transform: translateX(-50%) !important; margin: 0 !important;
  max-width: calc(100vw - 32px) !important; width: max-content; box-sizing: border-box;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-align: center; white-space: normal;
  padding: 10px 18px; border-radius: 999px; pointer-events: none;
  background: rgba(180,40,40,0.72) !important; color: #fff !important; font: 500 15px/1.3 var(--nv-font);
  -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid rgba(255,140,140,0.35) !important;
  box-shadow: 0 8px 26px rgba(200,40,40,0.38), 0 0 0 1px rgba(255,90,90,0.12) !important;
  animation: nv-hint-in .4s cubic-bezier(.2,.8,.2,1);
}
html.nv .map-add-hint[hidden] { display: none !important; }
@keyframes nv-hint-in { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 960px) { html.nv .map-add-hint, html.nv .map-panel .map-add-hint { font-size: 14px; padding: 9px 16px; border-radius: 18px; } }
@media (prefers-reduced-motion: reduce) { html.nv .map-add-hint { animation: none; } }

/* ===== Contato: botão no topo + janela (mesmo vidro/animação das outras janelas) ===== */
html.nv .nv-contact-btn {
  height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 14px 0 12px; border-radius: 999px;
  border: 0; background: transparent; color: var(--nv-text); font: 500 14px/1 var(--nv-font); cursor: pointer; white-space: nowrap;
  transition: background-color .15s ease, transform .12s ease;
}
html.nv .nv-contact-btn iconify-icon { display: flex; width: 20px; height: 20px; }
html.nv .nv-contact-btn:hover, html.nv.nv-contact-open .nv-contact-btn { background: rgba(255,255,255,0.10); }
html.nv .nv-contact-btn:active { transform: scale(.94); }
html.nv .nv-contact-btn:focus-visible { outline: 2px solid var(--nv-olive-text); outline-offset: 2px; }
html.nv .nv-contact { position: fixed; inset: 0; z-index: 120; display: flex; align-items: center; justify-content: center; padding: 24px; }
html.nv .nv-contact[hidden] { display: none !important; }
html.nv .nv-contact-scrim { position: absolute; inset: 0; border: 0; padding: 0; background: rgba(6,8,6,0.45); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); cursor: default; }
html.nv .nv-contact-card {
  position: relative; width: min(520px, 100%); max-height: calc(100dvh - 48px); overflow: auto; overscroll-behavior: contain;
  background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line); border-radius: 20px; box-shadow: var(--nv-shadow); color: var(--nv-text); font-family: var(--nv-font);
}
html.nv .nv-contact-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 18px 6px 24px; }
html.nv .nv-contact-head h2 { margin: 0; font-size: 22px; font-weight: 700; letter-spacing: -0.01em; }
html.nv .nv-contact-x { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid var(--nv-line); background: rgba(255,255,255,0.06); color: var(--nv-text); cursor: pointer; }
html.nv .nv-contact-x:hover { background: rgba(255,255,255,0.12); }
html.nv .nv-contact-x iconify-icon { display: flex; }
html.nv .nv-contact-form { display: flex; flex-direction: column; gap: 14px; padding: 6px 24px 22px; }
html.nv .nv-contact-sub { margin: 0 0 2px; font-size: 14px; color: var(--nv-text-2); line-height: 1.45; }
html.nv .nv-contact-f { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 500; color: var(--nv-text-2); }
html.nv .nv-contact-f input, html.nv .nv-contact-f textarea {
  width: 100%; box-sizing: border-box; font: 400 16px/1.4 var(--nv-font); color: var(--nv-text);
  background: rgba(0,0,0,0.28); border: 1px solid var(--nv-line-2); border-radius: 14px; padding: 12px 14px; outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
html.nv .nv-contact-f input { height: 48px; }
html.nv .nv-contact-f textarea { min-height: 140px; resize: vertical; }
html.nv .nv-contact-f input:focus, html.nv .nv-contact-f textarea:focus { border-color: #6c8c57; box-shadow: 0 0 0 3px rgba(108,140,87,0.25); }
html.nv .nv-contact-f [aria-invalid="true"] { border-color: rgba(229,72,77,0.8); box-shadow: 0 0 0 3px rgba(229,72,77,0.18); }
html.nv .nv-contact-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
html.nv .nv-contact-err { margin: 0; padding: 10px 14px; border-radius: 12px; font-size: 14px; color: #ffd9d9; background: rgba(180,40,40,0.28); border: 1px solid rgba(229,72,77,0.45); }
html.nv .nv-contact-err[hidden] { display: none; }
html.nv .nv-contact-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 4px; }
html.nv .nv-contact-cancel, html.nv .nv-contact-send {
  height: 46px; padding: 0 22px; border-radius: 999px; font: 600 15px/1 var(--nv-font); cursor: pointer;
  transition: background-color .15s ease, transform .12s ease, opacity .15s ease;
}
html.nv .nv-contact-cancel { background: rgba(255,255,255,0.06); border: 1px solid var(--nv-line-2); color: var(--nv-text); }
html.nv .nv-contact-cancel:hover { background: rgba(255,255,255,0.12); }
html.nv .nv-contact-send { background: var(--nv-olive-2, #4e6b3d); border: 1px solid #6c8c57; color: #fff; min-width: 120px; }
html.nv .nv-contact-send:hover { background: #5b7a47; }
html.nv .nv-contact-send:active, html.nv .nv-contact-cancel:active { transform: scale(.96); }
html.nv .nv-contact-send:disabled { opacity: .7; cursor: progress; }
html.nv .nv-contact-ok { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 10px 28px 28px; }
html.nv .nv-contact-ok[hidden] { display: none; }
html.nv .nv-contact-ok-ic { width: 72px; height: 72px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: rgba(108,140,87,0.22); color: #b5d39c; margin-bottom: 4px; }
html.nv .nv-contact-ok h3 { margin: 0; font-size: 20px; }
html.nv .nv-contact-ok p { margin: 0 0 10px; color: var(--nv-text-2); font-size: 15px; line-height: 1.45; }
/* celular: tela cheia (igual aos outros painéis) */
@media (max-width: 960px) {
  html.nv .nv-contact-btn { width: 40px; height: 40px; padding: 0; }
  html.nv .nv-contact-btn-t { display: none; }
  html.nv .topbar .lang-switch button { padding: 0 7px !important; }
  html.nv .nv-contact { padding: 0; align-items: stretch; }
  html.nv .nv-contact-card { width: 100%; max-height: none; height: 100dvh; border-radius: 0; border: 0; padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
  html.nv .nv-contact-head { padding: 14px 12px 6px 18px; }
  html.nv .nv-contact-form { padding: 6px 18px 22px; }
  html.nv .nv-contact-actions { position: sticky; bottom: 0; padding: 10px 0 4px; background: linear-gradient(to top, rgba(24,26,24,0.98) 70%, rgba(24,26,24,0)); }
  html.nv .nv-contact-actions button { flex: 1 1 0; }
}
html.nv .nv-contact-form[hidden] { display: none !important; }
html.nv .nv-contact-ok-ic iconify-icon { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; }

/* ===== centralização óptica: caixa do iconify = tamanho real do ícone (svg não transborda o host) ===== */
html.nv iconify-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 0; vertical-align: middle; flex: 0 0 auto; }
html.nv iconify-icon[width="12"] { width: 12px; height: 12px; }
html.nv iconify-icon[width="13"] { width: 13px; height: 13px; }
html.nv iconify-icon[width="14"] { width: 14px; height: 14px; }
html.nv iconify-icon[width="15"] { width: 15px; height: 15px; }
html.nv iconify-icon[width="16"] { width: 16px; height: 16px; }
html.nv iconify-icon[width="17"] { width: 17px; height: 17px; }
html.nv iconify-icon[width="18"] { width: 18px; height: 18px; }
html.nv iconify-icon[width="20"] { width: 20px; height: 20px; }
html.nv iconify-icon[width="22"] { width: 22px; height: 22px; }
html.nv iconify-icon[width="24"] { width: 24px; height: 24px; }
html.nv iconify-icon[width="26"] { width: 26px; height: 26px; }
html.nv iconify-icon[width="28"] { width: 28px; height: 28px; }
html.nv iconify-icon[width="32"] { width: 32px; height: 32px; }
html.nv iconify-icon[width="36"] { width: 36px; height: 36px; }
html.nv iconify-icon[width="40"] { width: 40px; height: 40px; }
html.nv iconify-icon[width="44"] { width: 44px; height: 44px; }
html.nv iconify-icon[width="48"] { width: 48px; height: 48px; }
html.nv .nv-contact-x iconify-icon { width: 20px !important; height: 20px !important; font-size: 20px !important; }
html.nv .user-avatar-fallback { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; line-height: 0 !important; }
html.nv .user-avatar-fallback iconify-icon { width: 20px !important; height: 20px !important; font-size: 20px !important; margin: 0 !important; }
html.nv .nv-contact-ok-ic iconify-icon { width: 44px !important; height: 44px !important; font-size: 44px !important; }
/* glifo da seta norte: tinta fica 1,8px acima do centro da caixa 24×24 */
html.nv #btnNorth .north-icon { position: relative; top: 1.8px; }

/* ===== Founder Edition: fundo preto puro (o logo PNG tem fundo #000 → sem "retângulo" visível) ===== */
html.nv .founder-edition-modal > .founder-edition-card {
  background: #000 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  border: 1px solid rgba(255,255,255,0.12) !important; border-radius: 20px;
}
html.nv .founder-edition-card .founder-edition-card-block { background: #141414; border-color: #262626; }
html.nv .founder-edition-close { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; padding: 0; border-radius: 999px; background: #1c1c1c; border: 1px solid #2c2c2c; line-height: 0; }
html.nv .founder-edition-close:hover { background: #262626; }
html.nv .founder-edition-close:active { transform: scale(.94); }
html.nv .founder-edition-close iconify-icon, html.nv .founder-edition-close svg { width: 20px !important; height: 20px !important; display: block; }
/* ✓ e ! eram texto (centro pela métrica da fonte, não pela tinta) → glifos SVG centralizados */
html.nv .founder-edition-ico { display: flex; align-items: center; justify-content: center; font-size: 0 !important; line-height: 0; color: transparent !important; background: #262626; }
html.nv .founder-edition-ico::before {
  content: ""; width: 18px; height: 18px; background: #fff;
  -webkit-mask: var(--nv-fe-ico) center / 18px 18px no-repeat; mask: var(--nv-fe-ico) center / 18px 18px no-repeat;
  --nv-fe-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.25l5 5L19.5 6.75'/%3E%3C/svg%3E");
}
html.nv .founder-edition-ico.is-warn::before {
  background: #ffcc00;
  --nv-fe-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M12 4.5v10'/%3E%3Cpath d='M12 19.5v.01'/%3E%3C/svg%3E");
}
/* ajustes ópticos medidos por tinta (centro do glifo = centro do botão) */
html.nv #btnApple, html.nv #goPopRoute { display: inline-flex; align-items: center; justify-content: center; }
html.nv #btnApple iconify-icon, html.nv #goPopRoute iconify-icon { vertical-align: 0; position: relative; }
html.nv .nv-contact-send, html.nv .user-panel .btn.block { padding-top: 2px; padding-bottom: 0; }
@media (max-width: 960px) { html.nv .map-tools #btnNewPlace iconify-icon { translate: -1px -0.5px; } }
html.nv #btnApple iconify-icon { top: 1.2px; }
html.nv #btnApple .social-ico svg { position: relative; top: 0.5px; }

/* ===== Botões da conta (perfil expandido) no formato do "Novo Ponto" ===== */
html.nv .account-actions { display: flex !important; flex-wrap: wrap; gap: 8px; }
html.nv .account-actions > .btn { margin: 0 !important; width: auto !important; flex: 1 1 100%; min-width: 0; }
html.nv .account-actions > #btnFounder, html.nv .account-actions > #btnBecomeFounder, html.nv .account-actions > #btnPremium { order: 1; flex: 1 1 136px; }
html.nv .account-actions > #btnEditProfile { order: 2; flex: 1 1 136px; }
html.nv .account-actions > #btnMyRoutes { order: 3; }
html.nv .nv-acc-btn {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px;
  height: 44px !important; min-height: 44px; padding: 0 18px !important; box-sizing: border-box;
  border-radius: 999px !important; border: 1px solid var(--nv-line-2) !important;
  background: rgba(255,255,255,0.06) !important; color: var(--nv-text) !important;
  font: 500 15px/1 var(--nv-font) !important; letter-spacing: 0; text-transform: none;
  box-shadow: none; transition: background-color .15s ease, box-shadow .15s ease, transform .12s ease, border-color .15s ease;
}
html.nv .nv-acc-btn iconify-icon { width: 22px !important; height: 22px !important; font-size: 22px !important; color: currentColor; flex: 0 0 22px; }
html.nv .nv-acc-l { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1; padding-top: 1px; }
html.nv .nv-acc-btn:active { transform: scale(.96); }
html.nv .nv-acc-btn:focus-visible { outline: 2px solid #ffd2ad; outline-offset: 2px; }
html.nv .nv-acc-btn:hover { background: rgba(255,255,255,0.12) !important; }
/* Founder = mesma cor/brilho do Novo Ponto */
html.nv #btnFounder.nv-acc-btn, html.nv #btnBecomeFounder.nv-acc-btn {
  background: var(--nv-cta) !important; border-color: rgba(255,190,140,0.35) !important; color: #fff !important;
  box-shadow: 0 4px 16px rgba(232,119,46,0.38), 0 0 0 1px rgba(232,119,46,0.18);
}
html.nv #btnFounder.nv-acc-btn:hover, html.nv #btnBecomeFounder.nv-acc-btn:hover { background: var(--nv-cta-hover) !important; box-shadow: 0 6px 22px rgba(232,119,46,0.5), 0 0 0 1px rgba(232,119,46,0.28); }
html.nv #btnFounder.nv-acc-btn:active, html.nv #btnBecomeFounder.nv-acc-btn:active { background: var(--nv-cta-active) !important; }
/* Editar perfil + Rotas Salvas = mesmo oliva do chip "Todas" ativo */
html.nv #btnEditProfile.nv-acc-btn, html.nv #btnMyRoutes.nv-acc-btn { background: var(--nv-olive-2) !important; border-color: #6c8c57 !important; color: #fff !important; }
html.nv #btnEditProfile.nv-acc-btn:hover, html.nv #btnMyRoutes.nv-acc-btn:hover { background: #5b7a47 !important; }
html.nv #btnLogout.nv-acc-btn { width: 100% !important; margin-top: 8px !important; }
html.nv .account-actions { flex-direction: row !important; align-items: stretch; }
html.nv .account-actions > .nv-acc-btn { flex-grow: 1; }
/* user-edit: a tinta do glifo pende para baixo/direita (lápis) → compensação óptica */
html.nv #btnEditProfile.nv-acc-btn iconify-icon { translate: 0 -0.5px; }
/* centralização óptica do grupo ícone+rótulo (medido pela tinta) */
html.nv #btnMyRoutes.nv-acc-btn, html.nv #btnLogout.nv-acc-btn { padding: 0 19px 0 17px !important; }
html.nv #btnEditProfile.nv-acc-btn { padding: 0 20px 0 16px !important; }
/* v2: Founder (ou Premium) sozinho na 1ª linha; Rotas + Editar perfil lado a lado na 2ª */
html.nv .account-actions > #btnFounder, html.nv .account-actions > #btnBecomeFounder, html.nv .account-actions > #btnPremium { order: 1; flex: 1 1 100% !important; }
html.nv .account-actions > #btnMyRoutes { order: 2; flex: 1 1 120px !important; }
html.nv .account-actions > #btnEditProfile { order: 3; flex: 1 1 120px !important; }
html.nv #btnPremium.nv-acc-btn {
  background: var(--nv-cta) !important; border-color: rgba(255,190,140,0.35) !important; color: #fff !important;
  box-shadow: 0 4px 16px rgba(232,119,46,0.38), 0 0 0 1px rgba(232,119,46,0.18);
}
html.nv #btnPremium.nv-acc-btn:hover { background: var(--nv-cta-hover) !important; }
html.nv .account-actions > #btnMyRoutes, html.nv .account-actions > #btnEditProfile { flex: 1 1 max-content !important; }
html.nv #btnFounder.nv-acc-btn, html.nv #btnPremium.nv-acc-btn, html.nv #btnBecomeFounder.nv-acc-btn { padding: 0 19px 0 17px !important; }
html.nv .account-actions > #btnMyRoutes, html.nv .account-actions > #btnEditProfile { flex: 1 1 0 !important; min-width: max-content !important; }

/* ===== Sobre (mesmo vidro/animação do Contato) ===== */
html.nv .nv-about-card { width: min(640px, 100%); display: flex; flex-direction: column; overflow: hidden; }
html.nv .nv-about-card .nv-contact-head { flex: 0 0 auto; }
html.nv .nv-about-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 6px 24px 26px; outline: none; -webkit-overflow-scrolling: touch; }
html.nv .nv-about-body:focus-visible { box-shadow: inset 0 0 0 2px rgba(108,140,87,0.6); border-radius: 0 0 20px 20px; }
html.nv .nv-about-hero { display: block; margin: 0 0 18px; border-radius: 16px; overflow: hidden; aspect-ratio: 3 / 2; background: linear-gradient(180deg, #3a2a1a, #1a1410); }
html.nv .nv-about-hero img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; opacity: 0; transition: opacity .35s ease; }
html.nv .nv-about-hero img.is-in { opacity: 1; }
html.nv .nv-about-text p { margin: 0 0 14px; font-size: 15.5px; line-height: 1.65; color: var(--nv-text-2); }
html.nv .nv-about-text p:last-child { color: var(--nv-text); font-weight: 600; margin-bottom: 18px; }
html.nv .nv-about-sig { margin: 0; display: flex; flex-direction: column; gap: 2px; padding-top: 14px; border-top: 1px solid var(--nv-line); }
html.nv .nv-about-names { font-size: 19px; font-weight: 700; font-style: italic; color: var(--nv-orange-text, #f0954a); letter-spacing: .01em; }
html.nv .nv-about-brand { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--nv-muted, #9aa093); }
@media (max-width: 960px) {
  html.nv .nv-about-card { height: 100dvh; }
  html.nv .nv-about-body { padding: 4px 18px calc(26px + env(safe-area-inset-bottom)); }
  html.nv .nv-about-hero { border-radius: 14px; }
  html.nv .topbar .nv-contact-btn { width: 38px; height: 38px; }
}
@media (prefers-reduced-motion: reduce) { html.nv .nv-about-hero img { transition: none; } }
/* celular: topo com Sobre + Contato sem sobrepor o logo */
@media (max-width: 960px) {
  html.nv .topbar { padding: 0 5px 0 14px !important; gap: 6px !important; }
  html.nv .topbar .brand-logo-img { height: 22px !important; width: auto; }
  html.nv .topbar-right { gap: 2px !important; }
  html.nv .topbar .nv-contact-btn { width: 36px; height: 36px; }
  html.nv .topbar .lang-switch { height: 40px; padding: 3px; }
  html.nv .topbar .lang-switch button { height: 32px; padding: 0 7px !important; }
}
@media (max-width: 359px) { html.nv .topbar .brand-logo-img { height: 18px !important; } }

/* ===== Dicas de Viagem (tela cheia, vidro escuro) — ícones SVG locais (Tabler Icons, MIT) ===== */
html.nv .nv-svg { display: block; flex: 0 0 auto; overflow: visible; }
html.nv .nv-dicas { position: fixed; inset: 0; z-index: 125; }
html.nv .nv-dicas[hidden] { display: none !important; }
html.nv .nv-dicas-scrim { position: absolute; inset: 0; background: rgba(6,8,6,0.35); }
html.nv .nv-dicas-card {
  position: absolute; inset: 0; display: flex; flex-direction: column; overflow: hidden;
  background: rgba(16,18,15,0.86); -webkit-backdrop-filter: blur(22px) saturate(1.3); backdrop-filter: blur(22px) saturate(1.3);
  color: var(--nv-text); font-family: var(--nv-font);
}
html.nv .nv-dicas-head { flex: 0 0 auto; position: sticky; top: 0; z-index: 2; border-bottom: 1px solid var(--nv-line); background: rgba(16,18,15,0.72); padding-top: env(safe-area-inset-top); }
html.nv .nv-dicas-head-in { max-width: 1180px; margin: 0 auto; height: 68px; padding: 0 20px 0 24px; display: flex; align-items: center; gap: 12px; }
html.nv .nv-dicas-head h2 { margin: 0; flex: 1 1 auto; font-size: 24px; font-weight: 700; letter-spacing: -0.01em; }
html.nv .nv-dicas-head-ic { width: 40px; height: 40px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: var(--nv-cta); color: #fff; box-shadow: 0 4px 16px rgba(232,119,46,0.35); }
html.nv .nv-dicas-x { flex: 0 0 auto; }
html.nv .nv-dicas-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; outline: none; -webkit-overflow-scrolling: touch; }
html.nv .nv-dicas-in { max-width: 1180px; margin: 0 auto; padding: 22px 24px calc(40px + env(safe-area-inset-bottom)); }
html.nv .nv-dicas-status { color: var(--nv-text-2); font-size: 15px; padding: 40px 0; text-align: center; }
html.nv .nv-dicas-intro { margin: 0 0 22px; max-width: 820px; font-size: 16px; line-height: 1.6; color: var(--nv-text-2); }
html.nv .nv-dicas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; align-items: start; }
html.nv .nv-tip-card { background: rgba(255,255,255,0.045); border: 1px solid var(--nv-line); border-radius: 20px; padding: 18px 20px 16px; }
html.nv .nv-tip-head { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
html.nv .nv-tip-head h3 { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.25; }
html.nv .nv-tip-ic { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 999px; display: flex; align-items: center; justify-content: center; color: #fff; }
html.nv .nv-tip-ic.is-olive { background: var(--nv-olive-2); border: 1px solid #6c8c57; }
html.nv .nv-tip-ic.is-orange { background: var(--nv-cta); border: 1px solid rgba(255,190,140,0.35); box-shadow: 0 4px 14px rgba(232,119,46,0.3); }
html.nv .nv-tip-ic.is-lg { flex-basis: 60px; width: 60px; height: 60px; }
html.nv .nv-tip-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
html.nv .nv-tip-list li { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; line-height: 22px; color: var(--nv-text-2); }
html.nv .nv-tip-list li.is-key { color: var(--nv-text); }
html.nv .nv-tip-bi { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: rgba(108,140,87,0.22); color: #b5d39c; }
html.nv .nv-tip-list li.is-key .nv-tip-bi { background: rgba(232,119,46,0.2); color: #f2ad6b; }
html.nv .nv-tip-tx { flex: 1 1 auto; min-width: 0; }
html.nv .nv-tip-cta { margin-top: 18px; display: flex; gap: 18px; align-items: flex-start; padding: 22px 24px; border-radius: 20px; border: 1px solid rgba(232,119,46,0.35); background: linear-gradient(135deg, rgba(186,85,18,0.20), rgba(78,107,61,0.16)); }
html.nv .nv-tip-cta h3 { margin: 4px 0 6px; font-size: 20px; }
html.nv .nv-tip-cta p { margin: 0 0 14px; color: var(--nv-text-2); font-size: 15px; line-height: 1.55; max-width: 760px; }
html.nv .nv-dicas-add.nv-acc-btn { background: var(--nv-cta) !important; border-color: rgba(255,190,140,0.35) !important; color: #fff !important; box-shadow: 0 4px 16px rgba(232,119,46,0.38), 0 0 0 1px rgba(232,119,46,0.18); padding: 0 19px 0 17px !important; }
html.nv .nv-dicas-add.nv-acc-btn:hover { background: var(--nv-cta-hover) !important; }
html.nv .nv-dicas-sig { margin-top: 22px; }
html.nv .nv-contact-btn .nv-svg { width: 20px; height: 20px; }
@media (max-width: 960px) {
  html.nv .nv-dicas-head-in { height: 58px; padding: 0 10px 0 16px; }
  html.nv .nv-dicas-head h2 { font-size: 20px; }
  html.nv .nv-dicas-head-ic { width: 36px; height: 36px; }
  html.nv .nv-dicas-in { padding: 16px 14px calc(32px + env(safe-area-inset-bottom)); }
  html.nv .nv-dicas-grid { grid-template-columns: 1fr; gap: 12px; }
  html.nv .nv-tip-card { padding: 16px 16px 14px; border-radius: 18px; }
  html.nv .nv-tip-cta { flex-direction: column; padding: 18px 16px; }
  html.nv .nv-dicas-add.nv-acc-btn { width: 100%; }
  /* topo do celular com Sobre + Dicas + Contato */
  html.nv .topbar { padding: 0 4px 0 12px !important; gap: 4px !important; }
  html.nv .topbar .brand-logo-img { height: 20px !important; }
  html.nv .topbar .nv-contact-btn { width: 34px; height: 34px; }
  html.nv .topbar .lang-switch button { padding: 0 5px !important; }
}
@media (max-width: 374px) {
  html.nv .topbar .brand-logo-img { height: 22px !important; width: 26px !important; object-fit: cover; object-position: left center; }
}

/* ===== Sobre / Dicas / Contato no topo: computador = só texto; celular = só ícone ===== */
@media (min-width: 961px) {
  html.nv .topbar .nv-contact-btn { gap: 0; padding: 0 14px !important; width: auto !important; font: 600 14px/1 var(--nv-font); }
  html.nv .topbar .nv-contact-btn > iconify-icon, html.nv .topbar .nv-contact-btn > .nv-svg { display: none !important; }
  html.nv .topbar .nv-contact-btn .nv-contact-btn-t { display: inline !important; line-height: 1; padding-top: 1px; }
}
@media (max-width: 960px) {
  html.nv .topbar .nv-contact-btn .nv-contact-btn-t { display: none !important; }
}
@media (max-width: 359px) {
  html.nv .topbar { padding: 0 3px 0 10px !important; gap: 2px !important; }
  html.nv .topbar-right { gap: 0 !important; }
  html.nv .topbar .nv-contact-btn { width: 32px !important; height: 32px !important; }
  html.nv .topbar #searchToggle { width: 34px !important; height: 34px !important; }
  html.nv .topbar .lang-switch button { padding: 0 4px !important; font-size: 11.5px; }
}

/* ===== Dicas de Viagem v2: infográfico (banner por seção, dicas numeradas, ilustrações Fluent Emoji MIT) ===== */
html.nv .nv-dicas-in { max-width: 980px; }
html.nv .nv-dx-hero { position: relative; margin: 0 0 14px; border-radius: 22px; overflow: hidden; border: 1px solid var(--nv-line); background: #10241d; }
html.nv .nv-dx-hero picture, html.nv .nv-dx-hero img { display: block; width: 100%; height: auto; aspect-ratio: 1400 / 520; object-fit: cover; }
html.nv .nv-dx-hero-tx { position: absolute; left: 0; top: 0; bottom: 0; width: 52%; padding: 30px 34px; display: flex; flex-direction: column; justify-content: center; color: #fff; }
html.nv .nv-dx-kicker { display: block; font-size: 15px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #f6c08a; }
html.nv .nv-dx-hero .nv-dx-kicker { font-size: 20px; letter-spacing: 0.06em; color: #f3d9bf; font-weight: 600; }
html.nv .nv-dx-hero-t { display: block; margin: 2px 0 12px; font-size: 46px; line-height: 1.02; font-weight: 800; text-transform: uppercase; letter-spacing: -0.01em; color: #ff9a4d; text-shadow: 0 2px 18px rgba(0,0,0,0.35); }
html.nv .nv-dx-intro { margin: 0; font-size: 17px; line-height: 1.5; color: rgba(255,255,255,0.88); max-width: 420px; }
html.nv .nv-dx-note { margin: 0 0 22px; font-size: 15px; line-height: 1.5; color: var(--nv-muted); text-align: center; }
html.nv .nv-dx-sec { margin: 0 0 26px; border-radius: 22px; overflow: hidden; border: 1px solid var(--nv-line); background: rgba(255,255,255,0.035); }
html.nv .nv-dx-banner { position: relative; display: flex; align-items: center; gap: 18px; min-height: 116px; padding: 18px 22px 18px 28px; color: #fff; overflow: hidden; }
html.nv .nv-dx-sec.is-olive .nv-dx-banner { background: linear-gradient(120deg, #3c5530 0%, #4e6b3d 55%, #5f7f4a 100%); }
html.nv .nv-dx-sec.is-orange .nv-dx-banner { background: linear-gradient(120deg, #8a3d0c 0%, #ba5512 55%, #d0681f 100%); }
html.nv .nv-dx-banner::before { content: ""; position: absolute; right: -40px; top: -60px; width: 260px; height: 260px; border-radius: 50%; background: rgba(255,255,255,0.08); }
html.nv .nv-dx-banner::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: repeating-linear-gradient(90deg, rgba(255,255,255,0.28) 0 26px, transparent 26px 44px); }
html.nv .nv-dx-banner-tx { position: relative; flex: 1 1 auto; min-width: 0; }
html.nv .nv-dx-banner .nv-dx-kicker { color: rgba(255,255,255,0.78); font-size: 14px; }
html.nv .nv-dx-banner h3 { margin: 4px 0 0; font-size: 32px; line-height: 1.08; font-weight: 800; text-transform: uppercase; letter-spacing: -0.005em; color: #fff; }
html.nv .nv-dx-banner-art { position: relative; flex: 0 0 96px; width: 96px; height: 96px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.16); box-shadow: inset 0 0 0 2px rgba(255,255,255,0.18); }
html.nv .nv-dx-svg { display: block; flex: 0 0 auto; }
html.nv .nv-dx-list { list-style: none; margin: 0; padding: 0; }
html.nv .nv-dx-tip { display: flex; align-items: center; gap: 22px; padding: 18px 28px; border-top: 1px solid var(--nv-line); }
html.nv .nv-dx-tip:first-child { border-top: 0; }
html.nv .nv-dx-tip.is-alt { background: rgba(255,255,255,0.04); flex-direction: row-reverse; }
html.nv .nv-dx-art { flex: 0 0 92px; width: 92px; height: 92px; border-radius: 24px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.06); }
html.nv .nv-dx-tx { flex: 1 1 auto; min-width: 0; }
html.nv .nv-dx-tx h4 { margin: 0 0 4px; display: flex; align-items: center; gap: 10px; font-size: 19px; line-height: 1.25; font-weight: 800; color: var(--nv-text); }
html.nv .nv-dx-tx p { margin: 0; padding-left: 40px; font-size: 17px; line-height: 1.5; color: var(--nv-text-2); }
html.nv .nv-dx-n { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; line-height: 1; font-weight: 800; font-variant-numeric: tabular-nums; color: #fff; padding-top: 1px; box-sizing: border-box; }
html.nv .nv-dx-sec.is-olive .nv-dx-n { background: var(--nv-olive-2); box-shadow: 0 0 0 3px rgba(108,140,87,0.22); }
html.nv .nv-dx-sec.is-orange .nv-dx-n { background: var(--nv-cta); box-shadow: 0 0 0 3px rgba(232,119,46,0.22); }
html.nv .nv-dx-credits { margin: 10px 0 0; text-align: center; font-size: 12.5px; color: var(--nv-muted); }
@media (max-width: 960px) {
  html.nv .nv-dx-hero { border-radius: 18px; }
  html.nv .nv-dx-hero picture, html.nv .nv-dx-hero img { aspect-ratio: 16 / 8; object-position: 72% 50%; }
  html.nv .nv-dx-hero-tx { position: static; width: auto; padding: 16px 18px 18px; background: #10241d; }
  html.nv .nv-dx-hero .nv-dx-kicker { font-size: 16px; }
  html.nv .nv-dx-hero-t { font-size: 32px; margin-bottom: 8px; }
  html.nv .nv-dx-intro { font-size: 16px; }
  html.nv .nv-dx-note { font-size: 14px; margin-bottom: 18px; }
  html.nv .nv-dx-sec { margin-bottom: 20px; border-radius: 18px; }
  html.nv .nv-dx-banner { min-height: 96px; gap: 12px; padding: 14px 14px 18px 18px; }
  html.nv .nv-dx-banner .nv-dx-kicker { font-size: 12.5px; }
  html.nv .nv-dx-banner h3 { font-size: 23px; }
  html.nv .nv-dx-banner-art { flex-basis: 72px; width: 72px; height: 72px; }
  html.nv .nv-dx-banner-art .nv-dx-svg { width: 52px; height: 52px; }
  html.nv .nv-dx-tip, html.nv .nv-dx-tip.is-alt { flex-direction: row; align-items: flex-start; gap: 14px; padding: 16px 16px; }
  html.nv .nv-dx-art { flex-basis: 64px; width: 64px; height: 64px; border-radius: 18px; }
  html.nv .nv-dx-art .nv-dx-svg { width: 44px; height: 44px; }
  html.nv .nv-dx-tx h4 { font-size: 18px; gap: 8px; align-items: flex-start; }
  html.nv .nv-dx-tx p { padding-left: 0; font-size: 16px; }
  html.nv .nv-dx-n { flex-basis: 26px; width: 26px; height: 26px; font-size: 14px; margin-top: -2px; padding-top: 3px; }
  html.nv .nv-dx-n[data-n="2"], html.nv .nv-dx-n[data-n="4"], html.nv .nv-dx-n[data-n="5"] { padding-left: 1.5px; }
  html.nv .nv-dx-n[data-n="3"] { padding-left: 1px; }
}

/* Novo Ponto: país/estado/cidade sendo buscados depois do clique (não bloqueia o formulário) */
html.nv input.nv-geo-loading::placeholder { color: var(--nv-orange-text); opacity: 1; font-style: italic; }
html.nv input.nv-geo-loading { animation: nvGeoPulse 1.1s ease-in-out infinite alternate; }
@keyframes nvGeoPulse { from { background-color: rgba(232,119,46,0.04); } to { background-color: rgba(232,119,46,0.12); } }
@media (prefers-reduced-motion: reduce) { html.nv input.nv-geo-loading { animation: none; } }
/* ===== Blog (pilha sobre o mapa, janela do post, comentários) ===== */
html.nv .nvb-panel[hidden], html.nv .nvb-post[hidden], html.nv .nvb-fx[hidden], html.nv .nvb-comp[hidden] { display: none !important; }
html.nv #nvBlogBtn.is-active { color: var(--nv-orange-text); }
html.nv .nvb-panel { position: fixed; z-index: 130; left: 10px; top: calc(var(--nv-appbar-h, 0px) + 84px); width: 412px; max-height: calc(100vh - var(--nv-appbar-h, 0px) - 84px - 112px); max-height: calc(100dvh - var(--nv-appbar-h, 0px) - 84px - 112px); display: flex; flex-direction: column; color: var(--nv-text); font-family: var(--nv-font); }
html.nv .nvb-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 6px 6px 22px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.22) transparent; overscroll-behavior: contain; }
html.nv .nvb-group { position: relative; cursor: pointer; transition: height .55s cubic-bezier(.2,.8,.2,1); }
html.nv .nvb-card { position: absolute; left: 0; right: 0; top: 0; min-height: 104px; height: 104px; display: flex; gap: 14px; align-items: center; padding: 12px 14px 12px 12px; box-sizing: border-box;
  border-radius: 18px; background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur); border: 1px solid var(--nv-line-2); box-shadow: 0 10px 28px rgba(0,0,0,.45);
  transition: transform .6s cubic-bezier(.2,.8,.2,1), opacity .4s, background .25s, border-color .25s, box-shadow .25s; transform-origin: 50% 0; color: var(--nv-text); outline: none; }
html.nv .nvb-card:hover { border-color: rgba(255,255,255,.22); }
html.nv .nvb-card:focus-visible { box-shadow: 0 0 0 2px #ffd2ad, 0 10px 28px rgba(0,0,0,.45); }
html.nv .nvb-card.is-sel { border-color: rgba(232,119,46,.75); box-shadow: 0 0 0 3px rgba(232,119,46,.18), 0 10px 28px rgba(0,0,0,.45); }
html.nv .nvb-group.is-stack .nvb-card:not(:first-child) { background: rgba(58,63,55,.94); border-color: rgba(255,255,255,.16); }
html.nv .nvb-group.is-stack .nvb-card:nth-child(3) { background: rgba(48,52,46,.92); }
html.nv .nvb-thumb { flex: 0 0 78px; width: 78px; height: 78px; border-radius: 14px; background: #233 center/cover no-repeat; display: flex; align-items: center; justify-content: center; color: var(--nv-muted); }
html.nv .nvb-thumb.is-empty { background: linear-gradient(135deg, #3c4a33, #2a2f27); }
html.nv .nvb-thumb.is-soon { background: linear-gradient(135deg, #4e6b3d, #ba5512); color: #fff; }
html.nv .nvb-thumb iconify-icon { display: flex; }
html.nv .nvb-tx { min-width: 0; flex: 1 1 auto; }
html.nv .nvb-tx h3 { margin: 0 0 3px; font-size: 16px; line-height: 1.25; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--nv-text); }
html.nv .nvb-date { font-size: 12.5px; color: var(--nv-orange-text); font-weight: 600; margin-bottom: 4px; }
html.nv .nvb-draft { color: var(--nv-olive-text); }
html.nv .nvb-ex { margin: 0; font-size: 13.5px; line-height: 1.4; color: var(--nv-text-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html.nv .nvb-group.is-stack .nvb-card:not(:first-child) .nvb-thumb, html.nv .nvb-group.is-stack .nvb-card:not(:first-child) .nvb-tx { opacity: 0; transition: opacity .2s; }
html.nv .nvb-group .nvb-card .nvb-thumb, html.nv .nvb-group .nvb-card .nvb-tx { transition: opacity .35s .15s; }
/* cartão "em breve" */
html.nv .nvb-card.nvb-soon { position: relative; height: auto; align-items: flex-start; cursor: default; padding: 14px; }
html.nv .nvb-soon .nvb-tx h3 { white-space: normal; font-size: 16.5px; }
html.nv .nvb-soon .nvb-ex { -webkit-line-clamp: 3; }
html.nv .nvb-soon .nvb-write-first { margin-top: 12px; height: 40px !important; min-height: 40px; padding: 0 16px !important; font-size: 14px !important; background: var(--nv-olive-2) !important; border-color: #6c8c57 !important; color: #fff !important; }
html.nv .nvb-soon .nvb-write-first iconify-icon { width: 20px !important; height: 20px !important; font-size: 20px !important; flex-basis: 20px; }
/* fila de ações */
html.nv .nvb-actions { position: absolute; z-index: 120; left: 0; right: 0; height: 56px; display: flex; gap: 12px; align-items: center; justify-content: center; opacity: 0; transform: translateY(-6px) scale(.9); transition: opacity .3s, transform .4s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
html.nv .nvb-actions.is-on { opacity: 1; transform: none; pointer-events: auto; }
html.nv .nvb-rb { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--nv-line-2); background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur); box-shadow: 0 6px 16px rgba(0,0,0,.35); color: var(--nv-text); padding: 0; cursor: pointer; transition: background .15s, transform .12s; }
html.nv .nvb-rb[hidden] { display: none; }
html.nv .nvb-rb:hover { background: rgba(70,76,66,.95); }
html.nv .nvb-rb:active { transform: scale(.94); }
html.nv .nvb-rb iconify-icon { width: 22px !important; height: 22px !important; font-size: 22px !important; display: flex; }
html.nv .nvb-rb.is-on { background: var(--nv-cta, #ba5512); border-color: rgba(255,190,140,.35); color: #fff; box-shadow: 0 4px 14px rgba(232,119,46,.35); }
html.nv .nvb-rb.is-olive { background: var(--nv-olive-2); border-color: #6c8c57; color: #fff; }
html.nv .nvb-rb:focus-visible, html.nv .nvb-fx:focus-visible { outline: 2px solid #ffd2ad; outline-offset: 2px; }
html.nv .nvb-fx { position: fixed; z-index: 133; width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer;
  background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur); border: 1px solid var(--nv-line-2); box-shadow: var(--nv-shadow); color: var(--nv-text); }
html.nv .nvb-fx iconify-icon { width: 22px !important; height: 22px !important; font-size: 22px !important; display: flex; }
@media (min-width: 961px) { html.nv .nvb-fx { display: none !important; } }
/* janela do post */
html.nv .nvb-post { position: fixed; z-index: 130; left: 520px; right: 16px; top: calc(var(--nv-appbar-h, 0px) + 84px); bottom: 60px; background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur);
  border: 1px solid var(--nv-line); border-radius: 20px; box-shadow: var(--nv-shadow); color: var(--nv-text); font-family: var(--nv-font); display: flex; flex-direction: column; overflow: hidden; }
html.nv .nvb-post .nvb-head { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; padding: 14px 14px 12px 22px; border-bottom: 1px solid var(--nv-line); }
html.nv .nvb-post .nvb-head h2 { margin: 0; flex: 1 1 auto; min-width: 0; font-size: 20px; font-weight: 700; letter-spacing: -0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.nv .nvb-chip { flex: 0 0 auto; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; background: rgba(232,119,46,.16); color: var(--nv-orange-text); border: 1px solid rgba(232,119,46,.35); }
html.nv .nvb-edit { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid #6c8c57; background: var(--nv-olive-2); color: #fff; font: 600 14px/1 var(--nv-font); cursor: pointer; }
html.nv .nvb-edit iconify-icon { display: flex; }
html.nv .nvb-cols { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) 320px; }
html.nv .nvb-art { overflow: auto; padding: 18px 26px 28px; scrollbar-width: thin; }
html.nv .nvb-cover { width: 100%; aspect-ratio: 16/8; border-radius: 16px; overflow: hidden; margin-bottom: 14px; background: #233; }
html.nv .nvb-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
html.nv .nvb-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; font-size: 13.5px; color: var(--nv-muted); margin-bottom: 12px; }
html.nv .nvb-meta b { color: var(--nv-orange-text); font-weight: 600; }
html.nv .nvb-meta span, html.nv .nvb-meta .nvb-loc { display: inline-flex; align-items: center; gap: 5px; }
html.nv .nvb-meta .nvb-loc { color: var(--nv-olive-text); background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: underline; text-decoration-color: rgba(166,196,140,.35); text-underline-offset: 3px; }
html.nv .nvb-content { font-size: 16.5px; line-height: 1.65; color: var(--nv-text-2); overflow-wrap: anywhere; }
html.nv .nvb-content p { margin: 0 0 14px; }
html.nv .nvb-content h2 { font-size: 22px; line-height: 1.3; color: var(--nv-text); margin: 26px 0 10px; }
html.nv .nvb-content h3 { font-size: 18px; line-height: 1.35; color: var(--nv-text); margin: 22px 0 8px; }
html.nv .nvb-content ul, html.nv .nvb-content ol { margin: 0 0 14px; padding-left: 24px; }
html.nv .nvb-content li { margin: 4px 0; }
html.nv .nvb-content blockquote { margin: 18px 0; padding: 10px 18px; border-left: 3px solid var(--nv-orange, #e8772e); background: rgba(232,119,46,.08); border-radius: 0 12px 12px 0; color: var(--nv-text); font-style: italic; }
html.nv .nvb-content a { color: var(--nv-orange-text); text-underline-offset: 3px; }
html.nv .nvb-content hr { border: 0; height: 1px; background: var(--nv-line-2); margin: 24px 0; }
html.nv .nvb-content figure { margin: 18px 0; }
html.nv .nvb-content img { max-width: 100%; height: auto; border-radius: 14px; display: block; }
html.nv .nvb-content figcaption { font-size: 13.5px; color: var(--nv-muted); margin-top: 6px; text-align: center; }
html.nv .nvb-galt { font-size: 18px; margin: 22px 0 10px; color: var(--nv-text); }
html.nv .nvb-gal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
html.nv .nvb-gal figure { margin: 0; }
html.nv .nvb-gi { display: block; width: 100%; aspect-ratio: 4/3; padding: 0; border: 0; border-radius: 12px; overflow: hidden; cursor: zoom-in; background: #233; }
html.nv .nvb-gi img { width: 100%; height: 100%; object-fit: cover; display: block; }
html.nv .nvb-gal figcaption { font-size: 12.5px; color: var(--nv-muted); margin-top: 4px; line-height: 1.35; }
html.nv .nvb-status { color: var(--nv-muted); font-size: 15px; padding: 18px 0; }
html.nv .nvb-cm { border-left: 1px solid var(--nv-line); display: flex; flex-direction: column; min-height: 0; background: rgba(0,0,0,.12); }
html.nv .nvb-cm h4 { margin: 0; padding: 16px 18px 8px; font-size: 15px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
html.nv .nvb-cm h4 iconify-icon { display: flex; }
html.nv .nvb-cm h4 span { font-size: 12.5px; color: var(--nv-muted); font-weight: 600; }
html.nv .nvb-cmlist { flex: 1 1 auto; overflow: auto; padding: 4px 14px; scrollbar-width: thin; }
html.nv .nvb-empty { color: var(--nv-muted); font-size: 14px; padding: 8px 4px; }
html.nv .nvb-c { display: flex; gap: 10px; padding: 10px 4px; border-bottom: 1px solid var(--nv-line); }
html.nv .nvb-cb { min-width: 0; flex: 1 1 auto; position: relative; padding-right: 30px; }
html.nv .nvb-av { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #fff; overflow: hidden; }
html.nv .nvb-av img { width: 100%; height: 100%; object-fit: cover; }
html.nv .nvb-c b { font-size: 13.5px; } html.nv .nvb-c time { font-size: 12px; color: var(--nv-muted); margin-left: 6px; }
html.nv .nvb-c p { margin: 3px 0 0; font-size: 14px; line-height: 1.45; color: var(--nv-text-2); white-space: pre-wrap; overflow-wrap: anywhere; }
html.nv .nvb-cdel { position: absolute; right: 0; top: -4px; width: 28px; height: 28px; border-radius: 50%; border: 0; background: transparent; color: var(--nv-muted); display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
html.nv .nvb-cdel:hover { background: rgba(255,255,255,.08); color: #ff9b8a; }
html.nv .nvb-cdel iconify-icon { display: flex; }
html.nv .nvb-input { flex: 0 0 auto; display: flex; gap: 8px; align-items: flex-end; padding: 12px 14px 14px; border-top: 1px solid var(--nv-line); margin: 0; }
html.nv .nvb-input textarea { flex: 1 1 auto; min-width: 0; min-height: 42px; max-height: 140px; resize: none; box-sizing: border-box; border-radius: 21px; border: 1px solid var(--nv-line-2); background: rgba(255,255,255,.06); color: var(--nv-text); padding: 11px 16px; font: 500 14px/1.35 var(--nv-font); outline: none; }
html.nv .nvb-input textarea:focus { border-color: rgba(232,119,46,.6); }
html.nv .nvb-send { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,190,140,.35); background: var(--nv-cta, #ba5512); color: #fff; display: inline-flex; align-items: center; justify-content: center; padding: 0; box-shadow: 0 4px 14px rgba(232,119,46,.35); cursor: pointer; }
html.nv .nvb-send:disabled { opacity: .6; }
html.nv .nvb-send iconify-icon { width: 20px !important; height: 20px !important; font-size: 20px !important; display: flex; }
html.nv .nvb-login { flex: 0 0 auto; margin: 12px 14px 14px; padding: 14px; border-radius: 14px; border: 1px dashed var(--nv-line-2); text-align: center; font-size: 14px; color: var(--nv-text-2); }
html.nv .nvb-login iconify-icon { vertical-align: -3px; }
html.nv .nvb-enter { display: inline-flex; align-items: center; justify-content: center; margin-top: 10px; height: 40px; padding: 1px 18px 0; border-radius: 999px; background: var(--nv-olive-2); color: #fff; border: 1px solid #6c8c57; font: 700 14px/1 var(--nv-font); cursor: pointer; }
/* conector */
html.nv .nvb-link { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 131; pointer-events: none; overflow: visible; }
html.nv .nvb-link path { fill: none; stroke: #e8772e; stroke-width: 2.5; stroke-linecap: round; filter: drop-shadow(0 0 4px rgba(232,119,46,.55)); }
html.nv .nvb-link circle { fill: #e8772e; }
html.nv .nvb-link .nvb-halo { fill: rgba(232,119,46,.25); }
/* toast, marcador, lightbox */
html.nv .nvb-toast { position: fixed; z-index: 400; left: 50%; bottom: 92px; transform: translate(-50%, 12px); opacity: 0; transition: opacity .25s, transform .25s; padding: 11px 18px; border-radius: 999px; background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur); border: 1px solid var(--nv-line-2); color: var(--nv-text); font: 600 14px/1.2 var(--nv-font); box-shadow: var(--nv-shadow); pointer-events: none; max-width: calc(100vw - 32px); text-align: center; }
html.nv .nvb-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
html.nv .nvb-mapmark { width: 36px; height: 36px; border-radius: 50% 50% 50% 4px; transform: rotate(-45deg); background: var(--nv-cta, #ba5512); border: 2px solid #fff; display: flex; align-items: center; justify-content: center; color: #fff; box-shadow: 0 6px 16px rgba(0,0,0,.4); }
html.nv .nvb-mapmark iconify-icon { transform: rotate(45deg); display: flex; }
html.nv .nvb-lightbox { position: fixed; inset: 0; z-index: 500; background: rgba(8,10,8,.92); display: flex; align-items: center; justify-content: center; gap: 12px; padding: 24px; }
html.nv .nvb-lightbox figure { margin: 0; max-width: min(1200px, 100%); max-height: 100%; display: flex; flex-direction: column; align-items: center; }
html.nv .nvb-lightbox img { max-width: 100%; max-height: calc(100vh - 110px); border-radius: 12px; object-fit: contain; }
html.nv .nvb-lightbox figcaption { color: var(--nv-text-2); font: 500 14px/1.4 var(--nv-font); margin-top: 10px; text-align: center; }
html.nv .nvb-lbx { position: absolute; top: 16px; right: 16px; }
html.nv .nvb-lbn { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--nv-line-2); background: rgba(255,255,255,.08); color: #fff; display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
html.nv .nvb-lbn[hidden] { display: none; }
html.nv .nvb-lbn iconify-icon { display: flex; }
html.nv .nvb-ssr { display: none; }
/* telas médias: comentários abaixo do texto */
@media (max-width: 1240px) and (min-width: 961px) {
  html.nv .nvb-post { left: 480px; }
  html.nv .nvb-panel { width: 380px; }
  html.nv .nvb-cols { display: block; overflow: auto; }
  html.nv .nvb-art { overflow: visible; }
  html.nv .nvb-cm { border-left: 0; border-top: 1px solid var(--nv-line); }
  html.nv .nvb-cmlist { overflow: visible; }
}
/* celular */
@media (max-width: 960px) {
  html.nv .nvb-panel { left: 6px; right: 6px; top: calc(var(--nv-appbar-h, 0px) + 72px); width: auto; max-height: calc(100vh - var(--nv-appbar-h, 0px) - 72px - 222px); max-height: calc(100dvh - var(--nv-appbar-h, 0px) - 72px - 222px); }
  html.nv .nvb-fx { left: calc(50% - 24px); bottom: 158px; bottom: calc(158px + env(safe-area-inset-bottom)); }
  html.nv .nvb-post { left: 0; right: 0; top: 0; bottom: 0; border-radius: 0; border: 0; z-index: 140; padding-top: env(safe-area-inset-top); }
  html.nv .nvb-cols { display: block; overflow: auto; }
  html.nv .nvb-art { overflow: visible; padding: 14px 16px 8px; }
  html.nv .nvb-cm { border-left: 0; border-top: 1px solid var(--nv-line); }
  html.nv .nvb-cmlist { overflow: visible; }
  html.nv .nvb-input { position: sticky; bottom: 0; background: var(--nv-glass-strong); padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
  html.nv .nvb-link { display: none; }
  html.nv .nvb-post .nvb-head { padding: 10px; gap: 8px; }
  html.nv .nvb-post .nvb-head h2 { font-size: 18px; }
  html.nv .nvb-edit span { display: none; }
  html.nv .nvb-edit { width: 40px; padding: 0; justify-content: center; }
  html.nv .nvb-gal { grid-template-columns: repeat(2, 1fr); }
  html.nv .nvb-content { font-size: 16px; }
  html.nv .nvb-toast { bottom: calc(150px + env(safe-area-inset-bottom)); }
}
/* topo no celular: 4 ícones (Blog, Dicas, Sobre, Contato) — compacta para caber */
@media (max-width: 480px) {
  html.nv .topbar-left .brand-logo-img { width: 90px !important; height: auto !important; }
  html.nv #nvBlogBtn, html.nv #nvDicasBtn, html.nv #nvAboutBtn, html.nv #nvContactBtn { width: 30px !important; min-width: 30px !important; padding: 0 !important; }
  html.nv #langSwitch > * { width: 25px !important; min-width: 25px !important; padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 360px) {
  html.nv .topbar { padding-left: 8px !important; }
  html.nv .topbar-left .brand-logo-img { width: 70px !important; }
  html.nv #nvBlogBtn, html.nv #nvDicasBtn, html.nv #nvAboutBtn, html.nv #nvContactBtn { width: 26px !important; min-width: 26px !important; }
  html.nv #langSwitch > * { width: 21px !important; min-width: 21px !important; }
  html.nv .topbar .search-toggle { width: 34px !important; height: 34px !important; min-width: 34px !important; }
}

/* ===== Composer (só o dono) ===== */
html.nv .nvb-comp { position: fixed; inset: 0; z-index: 300; font-family: var(--nv-font); color: var(--nv-text); }
html.nv .nvb-comp.is-away { visibility: hidden; pointer-events: none; }
html.nv .nvb-comp-scrim { position: absolute; inset: 0; background: rgba(6,8,6,.5); }
html.nv .nvb-comp-win { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(1180px, calc(100vw - 32px)); height: min(860px, calc(100vh - 48px)); height: min(860px, calc(100dvh - 48px));
  background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur); border: 1px solid var(--nv-line); border-radius: 22px; box-shadow: var(--nv-shadow); display: flex; flex-direction: column; overflow: hidden; }
html.nv .nvb-comp-head { display: flex; align-items: center; gap: 12px; padding: 14px 14px 12px 20px; border-bottom: 1px solid var(--nv-line); flex: 0 0 auto; }
html.nv .nvb-comp-ic { width: 38px; height: 38px; border-radius: 12px; background: var(--nv-olive-2); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 38px; }
html.nv .nvb-comp-ic iconify-icon { display: flex; }
html.nv .nvb-comp-head h2 { margin: 0; font-size: 20px; font-weight: 700; flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.nv .nvb-tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid var(--nv-line); }
html.nv .nvb-tabs button { height: 34px; padding: 0 14px; border-radius: 999px; border: 0; background: transparent; color: var(--nv-text-2); font: 600 14px/1 var(--nv-font); cursor: pointer; }
html.nv .nvb-tabs button.is-on { background: rgba(255,255,255,.14); color: var(--nv-text); }
html.nv .nvb-comp-body { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 18px 20px 24px; scrollbar-width: thin; }
html.nv .nvb-ed { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 22px; align-items: start; }
html.nv .nvb-ed .nvb-restore { grid-column: 1 / -1; }
html.nv .nvb-ed-side { position: sticky; top: 0; display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 16px; border: 1px solid var(--nv-line); background: rgba(0,0,0,.14); }
html.nv .nvb-f { margin-bottom: 16px; position: relative; }
html.nv .nvb-l { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--nv-olive-text); margin: 0 0 7px 2px; }
html.nv .nvb-in { width: 100%; box-sizing: border-box; height: 44px; border-radius: 12px; border: 1px solid var(--nv-line-2); background: rgba(255,255,255,.06); color: var(--nv-text); padding: 0 14px; font: 500 15px/1.3 var(--nv-font); outline: none; color-scheme: dark; }
html.nv textarea.nvb-in { height: auto; padding: 11px 14px; resize: vertical; line-height: 1.45; }
html.nv .nvb-in:focus, html.nv .nvb-rte:focus { border-color: rgba(232,119,46,.6); box-shadow: 0 0 0 3px rgba(232,119,46,.14); }
html.nv .nvb-title { height: 52px; font-size: 21px; font-weight: 700; }
html.nv .nvb-slug { display: flex; align-items: center; border-radius: 12px; border: 1px solid var(--nv-line-2); background: rgba(255,255,255,.04); overflow: hidden; }
html.nv .nvb-slug span { padding: 0 2px 0 14px; color: var(--nv-muted); font-size: 14px; white-space: nowrap; }
html.nv .nvb-slug .nvb-in { border: 0; background: transparent; padding-left: 0; height: 40px; font-size: 14px; }
html.nv .nvb-count { position: absolute; right: 4px; top: 0; font-size: 12px; color: var(--nv-muted); }
html.nv .nvb-hint, html.nv .nvb-muted { font-size: 13px; color: var(--nv-muted); margin: 6px 2px 0; }
html.nv .nvb-cov { position: relative; border-radius: 16px; border: 1.5px dashed var(--nv-line-2); background: rgba(255,255,255,.03); min-height: 150px; display: flex; align-items: center; justify-content: center; overflow: hidden; outline: none; }
html.nv .nvb-cov.is-drag, html.nv .nvb-cov:focus-visible { border-color: rgba(232,119,46,.75); background: rgba(232,119,46,.06); }
html.nv .nvb-cov-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--nv-muted); font-size: 14.5px; padding: 24px; text-align: center; }
html.nv .nvb-cov-empty[hidden], html.nv .nvb-cov-img[hidden] { display: none; }
html.nv .nvb-cov-empty iconify-icon { display: flex; }
html.nv .nvb-linkbtn { border: 0; background: none; color: var(--nv-orange-text); font: 700 14.5px var(--nv-font); cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: 3px; }
html.nv .nvb-cov-img { position: relative; width: 100%; aspect-ratio: 16/8; }
html.nv .nvb-cov-img img { width: 100%; height: 100%; object-fit: cover; display: block; cursor: crosshair; }
html.nv .nvb-focus { position: absolute; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 2px rgba(0,0,0,.4), inset 0 0 0 4px rgba(232,119,46,.8); pointer-events: none; }
html.nv .nvb-cov-rm { position: absolute; right: 10px; top: 10px; }
html.nv .nvb-prog { position: absolute; left: 12px; right: 12px; bottom: 10px; height: 6px; border-radius: 3px; background: rgba(255,255,255,.14); overflow: hidden; }
html.nv .nvb-rte-prog, html.nv .nvb-gal-prog { position: relative; left: 0; right: 0; bottom: 0; margin-top: 8px; }
html.nv .nvb-prog[hidden] { display: none; }
html.nv .nvb-prog i { display: block; height: 100%; width: 0; background: var(--nv-cta, #ba5512); transition: width .2s; }
html.nv .nvb-toolbar { position: sticky; top: -18px; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 6px; border-radius: 12px 12px 0 0; border: 1px solid var(--nv-line-2); border-bottom: 0; background: rgba(36,40,34,.97); }
html.nv .nvb-tb { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 9px; border: 0; background: transparent; color: var(--nv-text); display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
html.nv .nvb-tb:hover { background: rgba(255,255,255,.1); }
html.nv .nvb-tb.is-on { background: rgba(232,119,46,.22); color: #ffd2ad; }
html.nv .nvb-tb iconify-icon { display: flex; width: 20px; height: 20px; }
html.nv .nvb-tsep { width: 1px; height: 22px; background: var(--nv-line-2); margin: 0 4px; }
html.nv .nvb-linkbar { display: flex; gap: 8px; padding: 8px; border: 1px solid var(--nv-line-2); border-bottom: 0; background: rgba(36,40,34,.97); }
html.nv .nvb-linkbar[hidden] { display: none; }
html.nv .nvb-linkbar .nvb-in { height: 38px; }
html.nv .nvb-rte { min-height: 340px; padding: 16px 18px; border-radius: 0 0 12px 12px; border: 1px solid var(--nv-line-2); background: rgba(255,255,255,.04); outline: none; font-size: 16.5px; line-height: 1.65; color: var(--nv-text-2); }
html.nv .nvb-rte:empty::before { content: attr(data-ph); color: var(--nv-muted); }
html.nv .nvb-rte figcaption { outline: none; }
html.nv .nvb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid #6c8c57; background: var(--nv-olive-2); color: #fff; font: 600 14px/1 var(--nv-font); cursor: pointer; white-space: nowrap; }
html.nv .nvb-btn.is-ghost { background: rgba(255,255,255,.06); border-color: var(--nv-line-2); color: var(--nv-text); }
html.nv .nvb-btn iconify-icon { display: flex; }
html.nv .nvb-ib { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; border: 1px solid var(--nv-line-2); background: rgba(30,34,29,.85); color: var(--nv-text); display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
html.nv .nvb-ib:hover { background: rgba(255,255,255,.14); }
html.nv .nvb-ib:disabled { opacity: .35; cursor: default; }
html.nv .nvb-ib[hidden] { display: none; }
html.nv .nvb-ib.is-danger:hover { color: #ff9b8a; border-color: rgba(255,120,100,.45); }
html.nv .nvb-ib iconify-icon { display: flex; }
html.nv .nvb-galed { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
html.nv .nvb-gr { display: flex; align-items: center; gap: 8px; padding: 6px; border-radius: 12px; border: 1px solid var(--nv-line); background: rgba(255,255,255,.04); }
html.nv .nvb-gr img { width: 64px; height: 48px; object-fit: cover; border-radius: 8px; flex: 0 0 64px; }
html.nv .nvb-gr .nvb-in { height: 38px; }
html.nv .nvb-grip { color: var(--nv-muted); cursor: grab; display: flex; }
html.nv .nvb-gal-add, html.nv .nvb-acts .nv-acc-btn { height: 42px !important; min-height: 42px; font-size: 14.5px !important; }
html.nv .nvb-gal-add iconify-icon, html.nv .nvb-acts .nv-acc-btn iconify-icon { width: 20px !important; height: 20px !important; font-size: 20px !important; flex-basis: 20px; }
html.nv .nvb-row { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
html.nv .nvb-locv { font-size: 14px; color: var(--nv-text-2); display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
html.nv .nvb-locv iconify-icon { display: flex; }
html.nv .nvb-locname[hidden] { display: none; }
html.nv .nvb-st { display: inline-flex; align-items: center; height: 26px; padding: 0 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
html.nv .nvb-st.is-draft { background: rgba(166,196,140,.14); color: var(--nv-olive-text); border: 1px solid rgba(166,196,140,.35); }
html.nv .nvb-st.is-published { background: rgba(232,119,46,.16); color: var(--nv-orange-text); border: 1px solid rgba(232,119,46,.4); }
html.nv .nvb-acts { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
html.nv .nvb-acts .nv-acc-btn { width: 100%; }
html.nv .nvb-acts .nv-acc-btn[hidden] { display: none !important; }
html.nv .nvb-acts .nvb-a-pub { background: var(--nv-cta) !important; border-color: rgba(255,190,140,.35) !important; color: #fff !important; }
html.nv .nvb-acts .nvb-a-pub:hover { background: var(--nv-cta-hover) !important; }
html.nv .nvb-acts .nvb-a-save { background: var(--nv-olive-2) !important; border-color: #6c8c57 !important; color: #fff !important; }
html.nv .nvb-acts .nvb-a-del:hover { color: #ff9b8a !important; border-color: rgba(255,120,100,.45) !important; }
html.nv .nvb-acts .nv-acc-btn:disabled { opacity: .55; }
html.nv .nvb-msg { min-height: 20px; font-size: 13.5px; color: var(--nv-olive-text); margin: 8px 2px 0; }
html.nv .nvb-msg.is-err { color: #ff9b8a; }
html.nv .nvb-restore { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 12px; margin-bottom: 14px; border-radius: 12px; background: rgba(232,119,46,.1); border: 1px solid rgba(232,119,46,.35); font-size: 14px; }
html.nv .nvb-restore[hidden] { display: none; }
html.nv .nvb-restore span { flex: 1 1 200px; }
html.nv .nvb-restore iconify-icon { display: flex; }
html.nv .nvb-plist-top { display: flex; justify-content: flex-end; margin-bottom: 12px; }
html.nv .nvb-plist-top .nv-acc-btn { background: var(--nv-olive-2) !important; border-color: #6c8c57 !important; color: #fff !important; }
html.nv .nvb-prow { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 14px; border: 1px solid var(--nv-line); background: rgba(255,255,255,.04); margin-bottom: 8px; }
html.nv .nvb-pth { width: 72px; height: 54px; flex: 0 0 72px; border-radius: 10px; background: #2a2f27 center/cover; display: flex; align-items: center; justify-content: center; color: var(--nv-muted); }
html.nv .nvb-pth iconify-icon { display: flex; }
html.nv .nvb-ptx { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
html.nv .nvb-ptx b { font-size: 15.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.nv .nvb-ptx > span { font-size: 13px; color: var(--nv-muted); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
html.nv .nvb-pickhint { position: fixed; z-index: 320; left: 50%; top: calc(var(--nv-appbar-h, 0px) + 84px); transform: translateX(-50%); display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 16px; border-radius: 999px; background: var(--nv-glass-strong); -webkit-backdrop-filter: var(--nv-blur); backdrop-filter: var(--nv-blur); border: 1px solid rgba(232,119,46,.55); box-shadow: var(--nv-shadow); color: var(--nv-text); font: 600 14.5px/1.2 var(--nv-font); max-width: calc(100vw - 24px); }
html.nv .nvb-pickhint iconify-icon { display: flex; color: var(--nv-orange-text); }
html.nv.nvb-composer-open .nvb-panel, html.nv.nvb-composer-open .nvb-fx { visibility: hidden; }
@media (max-width: 960px) {
  html.nv .nvb-comp-win { left: 0; top: 0; transform: none; width: 100%; height: 100%; border-radius: 0; border: 0; padding-top: env(safe-area-inset-top); }
  html.nv .nvb-comp-head { padding: 10px 10px 10px 12px; gap: 8px; flex-wrap: wrap; }
  html.nv .nvb-comp-ic { display: none; }
  html.nv .nvb-comp-head h2 { font-size: 18px; order: 1; }
  html.nv .nvb-comp-x { order: 2; }
  html.nv .nvb-tabs { order: 3; width: 100%; }
  html.nv .nvb-tabs button { flex: 1 1 0; }
  html.nv .nvb-comp-body { padding: 14px 12px calc(24px + env(safe-area-inset-bottom)); }
  html.nv .nvb-ed { display: block; }
  html.nv .nvb-ed-side { position: static; margin-top: 8px; }
  html.nv .nvb-toolbar { top: -14px; }
  html.nv .nvb-tb { width: 40px; height: 40px; flex-basis: 40px; }
  html.nv .nvb-rte { min-height: 260px; }
  html.nv .nvb-slug span { font-size: 0; padding-left: 14px; }
  html.nv .nvb-slug span::after { content: "/blog/"; font-size: 14px; }
  html.nv .nvb-pickhint { top: calc(var(--nv-appbar-h, 0px) + 72px); }
}

/* ajustes ópticos (centro da tinta ≤0,5px) */
html.nv .nvb-tb[data-cmd="clear"] iconify-icon { transform: translateX(-1.75px); }
html.nv .nvb-send iconify-icon { transform: translateY(-.5px); }
html.nv .nvb-acts .nv-acc-btn > *, html.nv .nvb-edit > * { transform: translateX(-1px); }
@media (max-width: 960px) { html.nv .nvb-edit > * { transform: none; } }
html.nv #nvbWriteBtn > * { transform: translate(-1.5px, -1px); }
html.nv .nvb-ptx b { line-height: 20px; } html.nv .nvb-ptx > span { line-height: 18px; }
html.nv .nvb-prow { min-height: 92px; }
html.nv .nvb-rte figcaption:empty::before { content: attr(data-ph); color: var(--nv-muted); }
html.nv .nvb-cov-empty iconify-icon, html.nv .nvb-thumb.is-soon iconify-icon { width: 30px !important; height: 30px !important; font-size: 30px !important; flex: 0 0 30px; }
/* centro óptico (regra do dono): "Blog" tem descendente (g) → sobe 1px via padding; "Escrever post" (p) → 0,5px */
@media (min-width: 481px) { html.nv #nvBlogBtn { padding-bottom: 2px !important; } }
/* janelas de vidro: rolagem sem barra visível (roda, toque e teclado continuam) — pedido do dono 19/10 */
html.nv .nvb-body, html.nv .nvb-art, html.nv .nvb-cmlist, html.nv .nvb-cols, html.nv .nvb-comp-body, html.nv .nvb-rte, html.nv .nvb-post,
html.nv .nv-about-body, html.nv .nv-dicas-body, html.nv .nv-contact-card, html.nv .nv-info-pop, html.nv #catBarPanel, html.nv .nv-places-list,
html.nv #sideBody, html.nv .user-panel, html.nv .user-panel .panel-body {
  scrollbar-width: none !important; -ms-overflow-style: none;
}
html.nv .nvb-body::-webkit-scrollbar, html.nv .nvb-art::-webkit-scrollbar, html.nv .nvb-cmlist::-webkit-scrollbar, html.nv .nvb-cols::-webkit-scrollbar,
html.nv .nvb-comp-body::-webkit-scrollbar, html.nv .nvb-rte::-webkit-scrollbar, html.nv .nvb-post::-webkit-scrollbar,
html.nv .nv-about-body::-webkit-scrollbar, html.nv .nv-dicas-body::-webkit-scrollbar, html.nv .nv-contact-card::-webkit-scrollbar,
html.nv .nv-info-pop::-webkit-scrollbar, html.nv #catBarPanel::-webkit-scrollbar, html.nv .nv-places-list::-webkit-scrollbar,
html.nv #sideBody::-webkit-scrollbar, html.nv .user-panel::-webkit-scrollbar, html.nv .user-panel .panel-body::-webkit-scrollbar { display: none; width: 0; height: 0; }
html.nv .nvb-ghost { pointer-events: none !important; }
