  /* =========================================================
     AJUSTE: conversão do CB Userlist (layout tabela) para cards
     Estas regras podem ir para anuncios.css.
     Não é preciso alterar o template PHP — só o CSS.
  ==========================================================*/

  #cbUserTable{
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(245px, 1fr));
    gap:14px;
    background: #eaedf0;
  }

  /* Esconde o cabeçalho da tabela (não faz sentido em cards) */
  #cbUserTable > .cbUserListHeader{
    display:none;
  }

  /* Cada linha vira um card */
  #cbUserTable .cbUserListRow{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    text-align:center;
    background:#fff;
    border:1px solid #e3e5e9;
    border-top: none !important; /* remove a linha herdada da tabela */
    border-radius:10px;
    padding:18px 14px 14px !important; 
    position:relative;
    transition:box-shadow .15s ease, transform .15s ease;
    cursor:pointer;
  }
  #cbUserTable .cbUserListRow:hover{
    transform: translateY(-6px);
    box-shadow: 0px 16px 0px -10px #d8dfe7;
  }

  /* Cada célula deixa de ser coluna de grelha e vira bloco empilhado */
  #cbUserTable .cbUserListRow > div{
    width:auto !important;
    max-width:100%;
    padding:0 !important;
    border:none !important;
    flex:none !important;
  }

  /* Avatar maior, centrado no topo do card */
  #cbUserTable .avatar{
    order:1;
    margin-bottom:10px;
  }


  /* Nome do utilizador em destaque */
  #cbUserTable .cbUserListRowCol3{
    order:2;
    font-weight:600;
    font-size:16px;
    margin-bottom:6px;
    word-break:break-word;
  }
  #cbUserTable .cbUserListRowCol3 a{
    color:#222;
    text-decoration:none;
  }

.cbUserListFL_avatar img, .cb_template .cbImgPictInitial.cbThumbPict {
  width: 60px !important;
  aspect-ratio: 1 / 1;
}

  /* Cidade + Instrumento como "badges" lado a lado */
  #cbUserTable .city{
    order:3;
    display:inline-block;
    font-size:15px;
    color:#555;
    padding:3px 10px;
  }
 #cbUserTable .city .cbUserListFL_cb_cidade::before{
  font-family:"FontAwesome"; /* FA4 — troca para "Font Awesome 5 Free" se for FA5 */
  content:"\f041"; /* FA4: fa-map-marker | FA5: usa "\f3c5" (map-marker-alt) */
  margin-right:4px;
}
  #cbUserTable .cbUserListRowCol8{
    order:4;
    display:inline-block;
    font-size:15px;
    color:#555;
    padding:3px 10px;
  }
  #cbUserTable .cbUserListRowCol8:empty{ display:none; }

  /* Meta info em baixo: data de registo + acessos */
  #cbUserTable .registry{
    order:5;
    font-size:13px;
    color:#999;
  }
  #cbUserTable .access{
    order:6;
    font-size:13px;
    color:#999;
    margin-top:2px;
  }
  /* Acessos (eye) */
#cbUserTable .access .cbUserListFC_hits::before{
  font-family:"FontAwesome"; /* FA4 — troca para "Font Awesome 5 Free" se for FA5 */
  font-weight: 900; /* só necessário em FA5, ignora em FA4 */
  content:"\f06e"; /* fa-eye — igual em FA4 e FA5 */
  margin-right:4px;
  color:#999;
}
  #cbUserTable .access .cbUserListFC_hits::after{
    content:" acessos";
  }

  /* Coluna de actividade (vazia nos dados de exemplo) — escondida se sem conteúdo */
  #cbUserTable .activity:empty{ display:none; }

  /* Responsivo: cards mais pequenos em mobile */
  @media (max-width: 480px){
    #cbUserTable{
      grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
      gap:10px;
    }
  }