body.pagina-perfil {
  background: radial-gradient(circle at 12% 8%, rgba(244, 200, 98, .18), transparent 25rem), radial-gradient(circle at 90% 24%, rgba(23, 105, 224, .10), transparent 30rem), var(--comunidade-fundo);
}

.perfil-principal { max-width: 910px; }
.perfil-principal > .estado-feed { margin-top: 38px; }

.cabecalho-perfil { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: clamp(22px, 4vw, 34px); }
.avatar-perfil { position: relative; display: grid; flex: 0 0 auto; place-items: center; overflow: hidden; background: linear-gradient(145deg, #1769e0, #77a9f4); color: #fff; font-weight: 900; box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .7), 0 11px 24px rgba(23, 105, 224, .2); }
.avatar-perfil img { position: absolute; z-index: 1; inset: 0; display: none; width: 100%; height: 100%; object-fit: cover; background: #e8f0ff; }
.avatar-perfil.tem-foto img { display: block; }
.avatar-perfil-grande { width: clamp(88px, 14vw, 120px); height: clamp(88px, 14vw, 120px); border-radius: 50%; font-size: clamp(1.55rem, 4vw, 2.35rem); }
.avatar-edicao { width: 76px; height: 76px; border-radius: 25px; font-size: 1.5rem; }

.informacoes-perfil { min-width: 0; }
.informacoes-perfil .rotulo { margin-bottom: 5px; }
.informacoes-perfil h1, .editor-perfil h1 { margin: 0; color: var(--comunidade-texto); font-size: clamp(1.6rem, 4vw, 2.25rem); line-height: 1.12; overflow-wrap: anywhere; }
.bio-perfil { max-width: 570px; margin: 10px 0 0; color: var(--comunidade-suave); font-size: 1rem; line-height: 1.55; overflow-wrap: anywhere; }
.metricas-perfil { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 17px; color: var(--comunidade-suave); font-size: .9rem; }
.metricas-perfil strong { display: inline-block; margin-right: 3px; color: var(--comunidade-texto); font-size: 1.06rem; }
.acoes-perfil { display: grid; min-width: 142px; gap: 9px; }
.acoes-perfil .botao-primario, .acoes-perfil .botao-secundario { width: 100%; }
.botao-seguindo { background: #e8f0ff; box-shadow: none; color: var(--comunidade-azul); }
.botao-editar-perfil { border-color: #c8d8f4; background: #f4f8ff; color: var(--comunidade-azul); }
.cabecalho-perfil .mensagem-formulario { position: absolute; right: 34px; bottom: 7px; margin: 0; text-align: right; }

.seletor-abas-perfil { display: flex; gap: 8px; margin: 28px 0 15px; border-bottom: 1px solid var(--comunidade-borda); }
.aba-perfil { border: 0; border-bottom: 3px solid transparent; padding: 10px 14px; background: transparent; color: var(--comunidade-suave); font: inherit; font-size: .9rem; font-weight: 800; cursor: pointer; }
.aba-perfil.ativa { border-bottom-color: var(--comunidade-azul); color: var(--comunidade-azul); }
.lista-frases-perfil { min-height: 145px; }
.cartao-frase-perfil .publicacao-cabecalho { justify-content: space-between; }
.cartao-frase-perfil .selo-perfil { margin-left: 0; }
.meta-frase-perfil { margin: 0; text-align: right; }
.status-frase-perfil { margin: 0; color: #a46a00; font-size: .82rem; font-weight: 800; }
.status-frase-perfil.visivel { display: block; }

.editor-perfil { padding: clamp(22px, 4vw, 36px); }
.editor-perfil-cabecalho { display: flex; align-items: center; gap: 18px; padding-bottom: 22px; border-bottom: 1px solid var(--comunidade-borda); }
.editor-perfil-cabecalho .rotulo { margin-bottom: 6px; }
.editor-perfil-cabecalho p:not(.rotulo) { max-width: 600px; margin: 8px 0 0; color: var(--comunidade-suave); line-height: 1.5; }
.formulario-perfil { display: grid; gap: 18px; padding-top: 24px; }
.campo-perfil { display: grid; gap: 7px; }
.campo-perfil label { color: var(--comunidade-texto); font-size: .9rem; font-weight: 800; }
.campo-perfil input, .campo-perfil textarea { width: 100%; box-sizing: border-box; border: 1px solid #cdd8ea; border-radius: 11px; background: #fff; color: var(--comunidade-texto); font: inherit; outline: none; }
.campo-perfil input { min-height: 45px; padding: 10px 12px; }
.campo-perfil textarea { min-height: 108px; padding: 12px; resize: vertical; line-height: 1.5; }
.campo-perfil input:focus, .campo-perfil textarea:focus { border-color: var(--comunidade-azul); box-shadow: 0 0 0 3px rgba(23, 105, 224, .13); }
.campo-perfil small { color: var(--comunidade-suave); font-size: .78rem; line-height: 1.45; }
.acoes-editor-perfil { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.botao-secundario-azul { border-color: #c8d8f4; background: #f4f8ff; color: var(--comunidade-azul); }

body.pagina-perfil.tema-escuro .informacoes-perfil h1,
body.pagina-perfil.tema-escuro .editor-perfil h1,
body.pagina-perfil.tema-escuro .metricas-perfil strong,
body.pagina-perfil.tema-escuro .campo-perfil label { color: var(--comunidade-texto); }
body.pagina-perfil.tema-escuro .botao-seguindo,
body.pagina-perfil.tema-escuro .botao-editar-perfil,
body.pagina-perfil.tema-escuro .botao-secundario-azul { border-color: #3a5581; background: #21375f; color: #b8d3ff; }
body.pagina-perfil.tema-escuro .campo-perfil input,
body.pagina-perfil.tema-escuro .campo-perfil textarea { border-color: #3a4b69; background: #101a2b; color: #f2f6ff; }

@media (max-width: 700px) {
  .perfil-principal > .estado-feed { margin-top: 22px; }
  .cabecalho-perfil { grid-template-columns: 1fr; gap: 16px; text-align: center; }
  .avatar-perfil-grande { margin: 0 auto; }
  .bio-perfil { margin-right: auto; margin-left: auto; }
  .metricas-perfil { justify-content: center; }
  .acoes-perfil { grid-template-columns: 1fr 1fr; width: 100%; }
  .acoes-perfil .botao-primario, .acoes-perfil .botao-secundario { min-width: 0; }
  .cabecalho-perfil .mensagem-formulario { position: static; grid-column: 1; margin: -6px 0 0; text-align: center; }
  .seletor-abas-perfil { overflow-x: auto; }
  .aba-perfil { white-space: nowrap; }
  .editor-perfil-cabecalho { align-items: flex-start; flex-direction: column; }
  .acoes-editor-perfil { display: grid; grid-template-columns: 1fr; }
  .meta-frase-perfil { font-size: .74rem; }
}

@media (max-width: 390px) {
  .acoes-perfil { grid-template-columns: 1fr; }
}

/* Ação privada de bloqueio de perfil. */
.botao-bloquear-perfil {
  min-height: 42px;
  border: 1px solid #d9a095;
  border-radius: 11px;
  padding: 9px 14px;
  background: #fff7f5;
  color: #a94228;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  transition: background .16s ease-out, color .16s ease-out, transform .16s ease-out;
}

.botao-bloquear-perfil:hover,
.botao-bloquear-perfil:focus-visible,
.botao-bloquear-perfil.ativo {
  background: #ffe7e1;
  color: #8d301b;
  outline: none;
}

.botao-bloquear-perfil:disabled {
  cursor: not-allowed;
  opacity: .62;
}

body.pagina-comunidade.tema-escuro .botao-bloquear-perfil {
  border-color: #8b4b46;
  background: #382526;
  color: #ffb5a5;
}

body.pagina-comunidade.tema-escuro .botao-bloquear-perfil:hover,
body.pagina-comunidade.tema-escuro .botao-bloquear-perfil:focus-visible,
body.pagina-comunidade.tema-escuro .botao-bloquear-perfil.ativo {
  background: #512e2e;
  color: #ffd4ca;
}

@media (max-width: 620px) {
  .botao-bloquear-perfil { width: 100%; }
}

.botao-denunciar-perfil {
  min-height: 40px;
  border: 1px solid #e2c48e;
  border-radius: 11px;
  padding: 8px 12px;
  background: #fffaf0;
  color: #885d00;
  cursor: pointer;
  font: inherit;
  font-size: .88rem;
  font-weight: 800;
}

.botao-denunciar-perfil:hover,
.botao-denunciar-perfil:focus-visible { background: #fff0ca; outline: none; }
body.pagina-comunidade.tema-escuro .botao-denunciar-perfil { border-color: #766428; background: #423716; color: #ffe39a; }
body.pagina-comunidade.tema-escuro .botao-denunciar-perfil:hover,
body.pagina-comunidade.tema-escuro .botao-denunciar-perfil:focus-visible { background: #5a4a1b; }


/* Preferências públicas de privacidade — Rede Social V3. */
.grupo-privacidade-perfil {
  display: grid;
  gap: 10px;
  margin: 0;
  border: 1px solid #cdd8ea;
  border-radius: 14px;
  padding: 17px;
  background: #f8fbff;
}
.grupo-privacidade-perfil legend { padding: 0 5px; color: var(--comunidade-texto); font-size: .92rem; font-weight: 900; }
.grupo-privacidade-perfil > p { margin: 0 0 2px; color: var(--comunidade-suave); font-size: .84rem; line-height: 1.5; }
.opcao-privacidade-perfil { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 11px; align-items: start; padding: 9px 0; cursor: pointer; }
.opcao-privacidade-perfil + .opcao-privacidade-perfil { border-top: 1px solid #dbe5f3; }
.opcao-privacidade-perfil input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--comunidade-azul); cursor: pointer; }
.opcao-privacidade-perfil span { display: grid; gap: 3px; }
.opcao-privacidade-perfil strong { color: var(--comunidade-texto); font-size: .9rem; }
.opcao-privacidade-perfil small { color: var(--comunidade-suave); font-size: .79rem; line-height: 1.42; }
body.pagina-perfil.tema-escuro .grupo-privacidade-perfil { border-color: #3a4b69; background: #132039; }
body.pagina-perfil.tema-escuro .opcao-privacidade-perfil + .opcao-privacidade-perfil { border-top-color: #33435f; }


/* Resumo de atividade pública — Rede Social V3. */
.atividade-perfil { margin-top: 18px; }
.atividade-perfil .rotulo { margin: 0 0 7px; }
.metricas-atividade-perfil { display: flex; flex-wrap: wrap; gap: 8px 17px; align-items: center; color: var(--comunidade-suave); font-size: .82rem; line-height: 1.45; }
.metricas-atividade-perfil strong { margin-right: 3px; color: var(--comunidade-texto); font-size: .98rem; }
.metricas-atividade-perfil span:last-child { padding-left: 17px; border-left: 1px solid var(--comunidade-borda); }
body.pagina-perfil.tema-escuro .metricas-atividade-perfil strong { color: var(--comunidade-texto); }
@media (max-width: 700px) {
  .metricas-atividade-perfil { justify-content: center; }
}
@media (max-width: 430px) {
  .metricas-atividade-perfil span:last-child { width: 100%; padding-left: 0; border-left: 0; }
}


/* Foto de perfil escolhida da galeria. */
.campo-foto-perfil { gap: 9px; }
.rotulo-campo-perfil { color: var(--comunidade-texto); font-size: .9rem; font-weight: 800; }
.input-arquivo-perfil { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.acoes-foto-perfil { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.botao-selecionar-foto,
.botao-remover-foto { display: inline-flex; min-height: 44px; box-sizing: border-box; align-items: center; justify-content: center; border-radius: 11px; padding: 10px 14px; font: inherit; font-size: .9rem; font-weight: 800; cursor: pointer; transition: transform .16s ease-out, background .16s ease-out, border-color .16s ease-out; }
.botao-selecionar-foto { border: 1px solid #b9d0f8; background: #edf5ff; color: var(--comunidade-azul); }
.botao-remover-foto { border: 1px solid #e4b2aa; background: #fff6f4; color: #a74434; }
.botao-selecionar-foto:hover,
.botao-selecionar-foto:focus-visible { border-color: var(--comunidade-azul); background: #ddebff; outline: none; }
.botao-remover-foto:hover,
.botao-remover-foto:focus-visible { border-color: #c86b5d; background: #ffebe7; outline: none; }
.botao-selecionar-foto:active,
.botao-remover-foto:active { transform: scale(.97); }
.input-arquivo-perfil:focus-visible + .acoes-foto-perfil .botao-selecionar-foto { outline: 3px solid rgba(23, 105, 224, .22); outline-offset: 2px; }
.nome-arquivo-foto { color: var(--comunidade-azul) !important; font-weight: 700; }
body.pagina-perfil.tema-escuro .botao-selecionar-foto { border-color: #466b9e; background: #1c355b; color: #c7dcff; }
body.pagina-perfil.tema-escuro .botao-remover-foto { border-color: #824b45; background: #3c292b; color: #ffc3b9; }

@media (max-width: 480px) {
  .acoes-foto-perfil { display: grid; grid-template-columns: 1fr; }
  .botao-selecionar-foto,
  .botao-remover-foto { width: 100%; }
}
