/* Telas de perfil */

.perfil-wrap {
  max-width: 520px;
  margin: 0 auto;
  padding: 32px 20px 100px;
}

/* ── Perfil hub ── */
.perfil-hub-header {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(160deg, #ddb1f7 0%, #ff6e1f 100%);
  border-radius: 20px;
  padding: 24px 22px;
  margin-bottom: 24px;
}
/* Chip "✦ VIP até …" — leva para a explicação no FAQ (/ajuda?busca=VIP). Vive sobre o gradiente
   do header, por isso o vidro translúcido claro em vez de cor sólida da paleta. */
.perfil-vip-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 7px;
  padding: 4px 9px 4px 11px;   /* menos à direita: o "?" já traz respiro próprio */
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  border: none;
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: background 0.15s;
}
.perfil-vip-chip:hover { background: rgba(255, 255, 255, 0.34); }

/* O "?" é o que sinaliza que dá pra clicar — sem ele o chip parecia rótulo, não botão. */
.perfil-vip-ajuda {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.32);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}
.perfil-vip-chip:hover .perfil-vip-ajuda { background: rgba(255, 255, 255, 0.5); }

.perfil-hub-nome {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.perfil-hub-sub {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.9);
  margin-top: 2px;
}
.perfil-hub-secao {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  color: var(--color-slate);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 4px 8px;
}
.perfil-hub-badge-admin {
  background: var(--color-text);
  color: var(--color-cream);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 9999px;
  padding: 2px 8px;
}
.perfil-hub-lista {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  margin-bottom: 22px;
}
.perfil-hub-lista-admin { border: 1.5px solid rgba(43, 35, 24, 0.10); }
.perfil-hub-item {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  padding: 14px 16px;
  background: none;
  border: none;
  border-bottom: 1px solid rgba(132, 153, 183, 0.08);
  cursor: pointer;
  text-align: left;
  transition: background .12s;
}
.perfil-hub-item:last-child { border-bottom: none; }
.perfil-hub-item:hover { background: #faf7ee; }
.perfil-hub-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  flex-shrink: 0;
}
.perfil-hub-ico.laranja { background: var(--color-orange-light); }
.perfil-hub-ico.lavanda { background: #f5ecff; }
.perfil-hub-ico.oliva { background: rgba(180, 181, 54, 0.14); }
.perfil-hub-ico.ardosia { background: rgba(132, 153, 183, 0.14); }
.perfil-hub-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.perfil-hub-lbl { font-size: 14px; font-weight: 500; color: var(--color-text); }
.perfil-hub-desc { font-size: 12px; color: var(--color-slate); }
.perfil-hub-seta { color: #c4c0b8; font-size: 20px; font-weight: 600; flex-shrink: 0; }

/* Topo das sub-telas do perfil (voltar + título). */
.perfil-hub-topo {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.perfil-voltar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: none;
  background: var(--color-cream);
  cursor: pointer;
  flex-shrink: 0;
}

.perfil-foto {
  margin: 0 auto 16px;
}

.perfil-row {
  display: flex;
  gap: 12px;
}
.perfil-row .input-group { min-width: 0; }

/* Avatar clicável no perfil de outra usuária (abre a foto inteira). `inline-block` pra caixa
   abraçar o avatar: como div de bloco ela ocuparia a linha toda e o clique pegaria também o
   vazio ao lado da foto. */
.perfil-foto-abrir {
  display: inline-block;
  cursor: zoom-in;
}

/* ── Foto em tela cheia ── */
/* z-index acima do .rgc-modal-overlay (1000) e da bottom nav: a foto é o assunto enquanto
   estiver aberta, e a barra por cima dela leria como erro. */
.foto-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(43, 35, 24, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  cursor: zoom-out;      /* o fundo inteiro fecha */
}

.foto-lightbox img {
  max-width: min(100%, 640px);
  max-height: 88vh;
  object-fit: contain;   /* a foto é quadrada, mas nunca deforme o rosto de ninguém */
  border-radius: var(--radius-card);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
  cursor: default;
}

.foto-lightbox-x {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 17px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.foto-lightbox-x:hover { background: rgba(255, 255, 255, 0.28); }

/* O breakpoint fica por ÚLTIMO de propósito: media queries de mesma especificidade são
   decididas pela ORDEM (ver a armadilha do encontro.css). */
@media (max-width: 820px) {
  .perfil-wrap { padding: 24px 16px 40px; }
}
