/* Portal V2 — complemento do tema-v2.css */
.topbar-v2{padding:10px 0;background:var(--preto);border-bottom:1px solid var(--borda);position:sticky;top:0;z-index:100}
.logo-v2{display:flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--titulo);font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.logo-v2 .logo-icon{color:var(--laranja);font-size:28px}
.logo-v2 .logo-text{color:var(--texto)}
.nav-v2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nav-v2 a{color:var(--texto-suave);text-decoration:none;font-size:15px;padding:6px 8px;font-family:var(--corpo)}
.nav-v2 a:hover{color:var(--laranja)}
.footer-v2{margin-top:48px;padding:24px 0;border-top:1px solid var(--borda);color:var(--texto-suave);font-size:14px;text-align:center}

/* Hero section */
.hero-v2{text-align:center;padding:48px 0 32px}
.hero-v2 h1{font-size:clamp(36px,8vw,72px);margin-bottom:8px}
.hero-v2 p{font-size:18px;color:var(--texto-suave);max-width:600px;margin:0 auto 24px}

/* Seletor estado -> cidade */
.seletor-localidade{max-width:520px;margin:0 auto;background:var(--carvao);border:1px solid var(--borda);border-radius:var(--raio);padding:20px}
.seletor-localidade select{width:100%;padding:12px;margin-bottom:10px;background:var(--grafite);color:var(--texto);border:1px solid var(--borda);border-radius:8px;font:16px var(--corpo);-webkit-appearance:none;appearance:none;cursor:pointer}
.seletor-localidade select:focus{outline:2px solid var(--laranja);outline-offset:2px}
.seletor-localidade .btn{width:100%}

/* Noticias / Eventos grid */
.noticias-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:24px 0}
.noticia-card{background:var(--carvao);border:1px solid var(--borda);border-radius:var(--raio);padding:14px;transition:border-color .2s}
.noticia-card:hover{border-color:var(--laranja)}
.noticia-card .tag-noticia{display:inline-block;background:var(--laranja);color:#111;font:700 11px var(--corpo);text-transform:uppercase;padding:2px 8px;border-radius:999px;margin-bottom:6px}
.noticia-card h3{font-family:var(--titulo);font-size:18px;margin-bottom:4px;text-transform:none}
.noticia-card p{font-size:14px;color:var(--texto-suave);margin-bottom:4px}
.noticia-card small{font-size:12px;color:var(--texto-suave)}

/* Cidade page */
.cidade-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.cidade-header h1{margin:0}
.portal-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.personal-card{background:var(--carvao);border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden;text-decoration:none;color:var(--texto);transition:border-color .2s,transform .1s}
.personal-card:hover{border-color:var(--laranja);transform:translateY(-2px)}
.personal-card-foto{aspect-ratio:1;width:100%;object-fit:cover;display:block;background:var(--grafite)}
.personal-card-body{padding:12px}
.personal-card-body h3{font-family:var(--titulo);font-size:17px;text-transform:none;margin:0 0 2px;color:var(--texto)}
.personal-card-body .cidade-tag{font-size:13px;color:var(--texto-suave)}
.personal-card-body .exp-tag{font-size:12px;color:var(--ambar);margin:2px 0}
.personal-card-body .tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.personal-card-body .tags span{background:var(--grafite);color:var(--texto-suave);font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--borda)}
.selo-melhor{display:inline-block;background:linear-gradient(90deg,var(--ambar),var(--laranja));color:#111;font:700 11px var(--corpo);text-transform:uppercase;padding:2px 10px;border-radius:999px;margin-bottom:6px}

/* Perfil completo */
.perfil-topo-v2{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;margin-bottom:24px}
.perfil-topo-v2 .perfil-foto{width:120px;height:120px;border-radius:50%;object-fit:cover;background:var(--carvao);border:3px solid var(--laranja)}
.perfil-topo-v2 .perfil-info{flex:1;min-width:200px}
.perfil-topo-v2 h1{font-size:clamp(28px,4vw,42px);margin-bottom:2px}
.perfil-topo-v2 .perfil-meta{color:var(--texto-suave);font-size:15px}
.perfil-bio{color:var(--texto);font-size:15px;line-height:1.6;margin-top:8px;padding:12px;background:var(--carvao);border-radius:var(--raio)}
.especs-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.espec-card{background:var(--carvao);border:1px solid var(--borda);border-radius:var(--raio);padding:12px;cursor:pointer;transition:border-color .2s}
.espec-card:hover{border-color:var(--laranja)}
.espec-card.selecionada{border-color:var(--laranja);background:var(--grafite)}
.espec-card h4{font-family:var(--titulo);font-size:15px;text-transform:none;margin:0 0 2px}
.espec-card p{font-size:13px;color:var(--texto-suave);margin:0}

/* Academia com mapa */
.academia-card{background:var(--carvao);border:1px solid var(--borda);border-radius:var(--raio);padding:12px;margin-bottom:10px}
.academia-card h4{font-family:var(--titulo);font-size:16px;text-transform:none;margin:0 0 2px}
.academia-card p{font-size:13px;color:var(--texto-suave);margin:2px 0}
.academia-card .btn-mapa{display:inline-block;background:var(--laranja);color:#111;font:600 12px var(--corpo);padding:4px 12px;border-radius:999px;text-decoration:none;margin-top:4px}
.academia-card .btn-mapa:hover{background:var(--laranja-forte)}

/* Cadastro V2 */
.cadastro-v2{max-width:600px;margin:0 auto;padding:24px 0}
.cadastro-v2 h1{font-size:clamp(28px,5vw,42px);margin-bottom:4px}
.form-v2 .campo{margin-bottom:16px}
.form-v2 label{display:block;font-size:14px;font-weight:600;margin-bottom:4px;color:var(--texto)}
.form-v2 input,.form-v2 select,.form-v2 textarea{width:100%;padding:12px;background:var(--carvao);color:var(--texto);border:1px solid var(--borda);border-radius:8px;font:16px var(--corpo)}
.form-v2 input:focus,.form-v2 select:focus,.form-v2 textarea:focus{outline:2px solid var(--laranja);outline-offset:2px}
.form-v2 .ajuda{display:block;font-size:12px;color:var(--texto-suave);margin-top:2px}
.form-v2 .termos{margin:16px 0;font-size:14px}
.form-v2 .termos a{color:var(--laranja)}
.form-v2 .btn-block{width:100%;padding:14px;font-size:17px}
.form-v2 .erro{padding:10px 14px;background:#3a1a1a;border:1px solid var(--perigo);border-radius:8px;color:var(--perigo);font-size:14px;margin-bottom:12px}

/* Seletor inline estado/cidade no cadastro */
.linha-dupla{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* Nav voltar */
.nav-voltar-v2{margin-bottom:12px}
.nav-voltar-v2 a{color:var(--texto-suave);text-decoration:none;font-size:14px}
.nav-voltar-v2 a:hover{color:var(--laranja)}

/* Responsivo */
@media(max-width:600px){
  .linha-dupla{grid-template-columns:1fr}
  .perfil-topo-v2{flex-direction:column;align-items:center;text-align:center}
  .perfil-topo-v2 .perfil-info{text-align:center}
}