/* CSS BASE PERFIL - shared across all perfil pages */

.perfil-status { display: inline-flex; align-items: center; gap: 5px; padding: 5px 15px; border-radius: 20px; font-size: 9pt; font-weight: bold; }
.perfil-status.pendente { background: #FFF3CD; color: #856404; }
.perfil-status.aprovado { background: #D4EDDA; color: #155724; }
.perfil-status.premium { background: #4f8c7f; color: #FFFFFF; }

.tag-group { display: flex; flex-wrap: wrap; gap: 5px; }
.tag-group span { background: #EAF3F5; padding: 3px 12px; border-radius: 15px; font-size: 9pt; }
.tag { display: inline-flex; align-items: center; background: #EAF3F5; padding: 4px 10px; border-radius: 15px; font-size: 9pt; }
.tag .remover { margin-left: 6px; cursor: pointer; font-weight: bold; color: #999; }
.tag .remover:hover { color: #CC0000; }

.card-ajuda { background: #FFF3CD; border-left: 3px solid #FFC107; padding: 10px 15px; margin: 10px 0; border-radius: 0 5px 5px 0; font-size: 9pt; }
.aviso-pendente { background: #FFF3CD; border: 1px solid #FFC107; padding: 15px; border-radius: 8px; margin: 15px 0; }
.aviso-pendente h4 { color: #856404; margin: 0 0 5px 0; }

.foto-preview { width: 160px; height: 160px; object-fit: cover; border: 3px solid #4f8c7f; }
.foto-wrapper { text-align: center; padding: 20px; }
.foto-area { position: relative; display: inline-block; cursor: pointer; overflow: hidden; }
.foto-area:hover .foto-overlay { opacity: 1; }
.foto-overlay { position: absolute; top: 2px; left: 2px; width: 160px; height: 160px; background: rgba(0,0,0,0.5); color: #FFF; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; font-size: 10pt; text-align: center; }
.foto-area input[type=file] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }

.dados-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.dados-grid .campo { padding: 8px 0; }
.dados-grid .campo label { font-size: 8pt; color: #999; text-transform: uppercase; letter-spacing: 0.5px; }
.dados-grid .campo p { margin: 2px 0; }

.perfil-topo { display: flex; gap: 30px; align-items: center; flex-wrap: wrap; }
.perfil-avatar { width: 120px; height: 120px; object-fit: cover; border: 3px solid #4f8c7f; flex-shrink: 0; }

.erro-campo { border-color: #CC0000 !important; background: #FFF0F0 !important; }
.msg-erro { color: #CC0000; font-size: 8pt; display: none; margin-top: 3px; }
.msg-erro.visivel { display: block; }

.btn-nav { display: flex; justify-content: space-between; padding: 20px 0; }

@media (max-width: 767px) {
    .dados-grid { grid-template-columns: 1fr; }
    .perfil-topo { flex-direction: column; text-align: center; }
    .foto-preview { width: 120px; height: 120px; }
    .foto-overlay { width: 120px; height: 120px; }
}