.onchair-grid-profissionais{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:18px;
margin:30px 0;
}

/* CARD */

.onchair-card-profissional{
position:relative;
background:#fff;
border-radius:18px;
padding:14px;
border:1px solid #ececec;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
transition:.25s ease;
overflow:hidden;
}

.onchair-card-profissional:hover{
transform:translateY(-3px);
box-shadow:0 10px 20px rgba(0,0,0,0.10);
}

/* DESTAQUES */

.onchair-card-profissional.onchair-destaque-pro{
border:2px solid #35a37c;
box-shadow:0 8px 18px rgba(53,163,124,0.14);
}

.onchair-card-profissional.onchair-destaque-pro-plus{
border:2px solid #d4af37;
box-shadow:0 8px 18px rgba(212,175,55,0.16);
}

.onchair-card-profissional.onchair-destaque-premium-legado{
border:2px solid #ffb400;
box-shadow:0 8px 18px rgba(255,180,0,0.14);
}

/* BADGE */

.badge-plano-topo{
position:absolute;
top:10px;
right:10px;
z-index:5;
}

.badge-premium{
display:inline-flex;
align-items:center;
justify-content:center;
padding:5px 9px;
border-radius:999px;
background:#ffb400;
color:#000;
font-size:11px;
font-weight:700;
line-height:1;
box-shadow:0 4px 10px rgba(0,0,0,.12);
}

/* LAYOUT COMPACTO */

.onchair-card-layout-compacto{
display:grid;
grid-template-columns:74px minmax(0,1fr);
gap:12px;
align-items:start;
}

/* COLUNA FOTO */

.onchair-card-col-foto{
display:flex;
flex-direction:column;
align-items:center;
gap:6px;
}

.onchair-card-avatar-link{
display:block;
text-decoration:none;
width:74px;
min-width:74px;
}

.onchair-card-avatar{
width:74px;
height:74px;
border-radius:50%;
overflow:hidden;
background:#f2f2f2;
box-shadow:0 3px 10px rgba(0,0,0,0.10);
border:2px solid #fff;
}

.onchair-card-avatar > img,
.onchair-card-avatar img{
display:block;
width:100% !important;
height:100% !important;
object-fit:cover;
border-radius:50%;
}

.onchair-card-avatar-placeholder{
width:100%;
height:100%;
border-radius:50%;
background:linear-gradient(135deg,#ececec,#d9d9d9);
}

/* NOTA MINI */

.onchair-card-avaliacao-mini{
display:flex;
align-items:center;
justify-content:center;
gap:4px;
font-size:12px;
font-weight:700;
color:#444;
line-height:1;
text-align:center;
}

.onchair-card-avaliacao-mini-estrela{
color:#fbbc04;
font-size:14px;
line-height:1;
}

.onchair-card-avaliacao-mini.sem-avaliacao{
font-size:11px;
font-weight:500;
color:#888;
}

/* CONTEÚDO */

.onchair-card-conteudo{
min-width:0;
display:flex;
flex-direction:column;
gap:6px;
padding-top:2px;
}

.onchair-card-topo-nome{
display:flex;
align-items:flex-start;
gap:6px;
flex-wrap:wrap;
padding-right:56px;
}

.onchair-card-profissional h3{
margin:0;
font-size:14px;
line-height:1.25;
color:#111;
word-break:break-word;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}

/* TEXTOS */

.local,
.servicos-mini,
.preco,
.total-servicos{
margin:0;
}

.local{
font-size:12px;
color:#666;
line-height:1.3;
}

.servicos-mini{
font-size:12px;
color:#444;
line-height:1.35;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}

.preco{
font-size:13px;
font-weight:700;
color:#111;
line-height:1.3;
}

.total-servicos{
font-size:12px;
color:#555;
line-height:1.3;
}

/* ESCONDE A AVALIAÇÃO ANTIGA SE AINDA EXISTIR EM ALGUM LUGAR */

.onchair-card-avaliacao{
display:none;
}

/* BOTÃO */

.btn-ver-perfil{
display:block;
width:100%;
text-align:center;
background:#000;
color:#fff;
padding:10px 12px;
margin-top:12px;
border-radius:10px;
font-size:14px;
font-weight:700;
text-decoration:none;
transition:.2s ease;
box-sizing:border-box;
line-height:1.2;
}

.btn-ver-perfil:hover{
background:#333;
color:#fff;
}

/* GALERIA PÚBLICA */

.onchair-galeria-publica{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:15px;
margin-top:20px;
}

.onchair-galeria-publica img{
width:100%;
aspect-ratio:1/1;
object-fit:cover;
border-radius:12px;
cursor:pointer;
transition:.2s;
}

.onchair-galeria-publica img:hover{
transform:scale(1.03);
}

/* RESPONSIVO */

@media (max-width: 1200px){
.onchair-grid-profissionais{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

@media (max-width: 768px){
.onchair-grid-profissionais{
grid-template-columns:1fr;
gap:16px;
}

.onchair-card-layout-compacto{
grid-template-columns:70px minmax(0,1fr);
gap:10px;
}

.onchair-card-avatar-link{
width:70px;
min-width:70px;
}

.onchair-card-avatar{
width:70px;
height:70px;
}

.onchair-card-profissional{
padding:13px;
}
}

@media (max-width: 480px){
.onchair-card-topo-nome{
padding-right:0;
}

.badge-plano-topo{
top:8px;
right:8px;
}
}

.onchair-distancia{
font-size:12px;
color:#C8A13F;
font-weight:700;
margin:0;
line-height:1.3;
}

/* SELO VERIFICADO DOURADO */

.onchair-card-topo-nome {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
}

.onchair-card-topo-nome h3 {
    margin: 0 !important;
}

.onchair-selo-verificado {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    padding: 0 !important;
    margin-left: 4px !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    flex: 0 0 22px !important;
}

.onchair-selo-verificado svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    overflow: visible !important;
}

.onchair-selo-verificado svg path:first-child {
    fill: #C8A13F !important;
}

.onchair-selo-verificado svg path:last-child {
    fill: #FFFFFF !important;
}

.onchair-card-premium {
    position: relative;
    min-height: 260px;
    border-radius: 18px;
    overflow: hidden;
    background: #0F0F0F;
    border: 1px solid rgba(200, 161, 63, 0.18);
    box-shadow: 0 10px 28px rgba(0,0,0,0.35);
}

.onchair-card-premium-foto {
    position: absolute;
    inset: 0;
    display: block;
}

.onchair-card-premium-foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.02);
}

.onchair-card-premium-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top, rgba(15,15,15,0.98) 0%, rgba(15,15,15,0.82) 35%, rgba(15,15,15,0.25) 70%, rgba(15,15,15,0.05) 100%);
}

.onchair-card-premium-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
    background: linear-gradient(135deg, #C8A13F, #E6C878);
    color: #0F0F0F;
    border-radius: 7px;
    padding: 3px 6px;
    font-size: 9px;
    line-height: 1;
    border-radius: 6px;
    font-weight: 900;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(0,0,0,0.28);
}

.onchair-card-premium-conteudo {
    position: absolute;
    z-index: 2;
    left: 12px;
    right: 12px;
    bottom: 12px;
}

.onchair-card-premium-nome {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
}

.onchair-card-premium-nome h3 {
    margin: 0;
    color: #F2F2F2;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.1;
    max-width: calc(100% - 24px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.onchair-card-premium-selo {
    display: inline-flex;
    flex: 0 0 auto;
}

.onchair-card-premium-meta {
    color: #E6C878;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.onchair-card-premium-servicos,
.onchair-card-premium-preco,
.onchair-card-premium-distancia {
    margin: 3px 0;
    color: #F2F2F2;
    font-size: 12px;
    line-height: 1.25;
}

.onchair-card-premium-servicos {
    color: #ddd;
}

.onchair-card-premium-preco {
    color: #fff;
    font-weight: 700;
}

.onchair-card-premium-distancia {
    color: #CFCFCF;
}

.onchair-card-premium-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 7px;
    width: 100%;
    padding: 5px 10px;
    min-height: 30px;
    border-radius: 8px;
    background: linear-gradient(135deg, #C8A13F, #E6C878);
    color: #0F0F0F;
    font-size: 11px;
    border-radius: 7px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(200, 161, 63, 0.25);
}

.onchair-card-premium-btn:hover {
    color: #0F0F0F;
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .onchair-card-premium {
        min-height: 250px;
    }
}

/* ==============================
GRID PREMIUM MAIS DENSO
============================== */

.onchair-grid-profissionais:has(.onchair-card-premium) {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
}

/* ==============================
CARD PREMIUM COMPACTO
============================== */

.onchair-card-premium {
    position: relative;

    aspect-ratio: 9 / 13;

    min-height: 290px;
    max-height: 340px;

    border-radius: 16px;
    overflow: hidden;

    background: #0F0F0F;

    border: 1px solid rgba(200, 161, 63, 0.14);

    box-shadow: 0 8px 22px rgba(0,0,0,0.26);
}

.onchair-card-premium-foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.onchair-card-premium-conteudo {
    position: absolute;

    left: 10px;
    right: 10px;
    bottom: 10px;

    z-index: 3;
}

.onchair-card-premium-nome h3 {
    margin: 0;

    color: #FFF;

    font-size: 15px;
    font-weight: 800;

    line-height: 1.15;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.onchair-card-premium-meta {
    margin-top: 3px;

    color: #E6C878;

    font-size: 11px;
    font-weight: 700;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.onchair-card-premium-servicos,
.onchair-card-premium-preco,
.onchair-card-premium-distancia {
    margin: 4px 0;

    font-size: 11px;
    line-height: 1.25;
}

.onchair-card-premium-btn {
    margin-top: 8px;

    padding: 4px 10px !important;

    font-size: 12px;
}

/* MOBILE */

@media (max-width: 767px) {

    .onchair-grid-profissionais:has(.onchair-card-premium) {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .onchair-card-premium {
        min-height: 260px;
    }
}

.onchair-card-premium-linha-distancia {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin: 4px 0;
}

.onchair-card-premium-linha-distancia .onchair-card-premium-distancia {
    margin: 0;
    min-width: 0;
}

.onchair-card-premium-domicilio {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    flex: 0 0 auto;

    font-size: 10px;
    font-weight: 800;
    line-height: 1;

    color: #E6C878;
    background: rgba(15, 15, 15, 0.68);
    border: 1px solid rgba(230, 200, 120, 0.32);
    border-radius: 999px;
    padding: 4px 6px;
}

@media (max-width: 768px) {

    .onchair-profissionais-grid,
    .onchair-home-profissionais-grid,
    .onchair-cards-grid,
    .onchair-lista-profissionais {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
        width: 100% !important;
        overflow: visible !important;
    }

    .onchair-profissional-card,
    .onchair-card-profissional,
    .onchair-card-premium,
    .onchair-card-classico {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .onchair-profissional-card *,
    .onchair-card-profissional *,
    .onchair-card-premium *,
    .onchair-card-classico * {
        box-sizing: border-box;
    }
}

@media (max-width: 768px) {

    .onchair-grid-profissionais {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
    }

    .onchair-card-premium {
        min-height: 260px !important;
        max-height: none !important;
        border-radius: 16px !important;
    }

    .onchair-card-premium-conteudo {
        left: 8px !important;
        right: 8px !important;
        bottom: 8px !important;
    }

    .onchair-card-premium-nome h3 {
        font-size: 14px !important;
    }

    .onchair-card-premium-meta,
    .onchair-card-premium-servicos,
    .onchair-card-premium-preco,
    .onchair-card-premium-distancia {
        font-size: 11px !important;
    }

    .onchair-card-premium-btn {
        min-height: 34px !important;
        font-size: 12px !important;
    }
}