/* ==========================================================
   Autoprojeto — v2 "classificados"
   Alternativa visual: retos, compacto, cara de portal antigo.
   ========================================================== */

body.v2 .topo {
    background: var(--cor-primaria-escura);
    border-bottom: 3px solid var(--cor-acao);
}
body.v2 .logo img { height: 54px; }
body.v2 .menu a { font-size: .93rem; padding: 9px 10px; border-radius: 4px; }
body.v2 .menu a small {
    display: block;
    font-size: .58rem;
    font-weight: 400;
    letter-spacing: .4px;
    line-height: 1.1;
    margin-top: 1px;
    opacity: .75;
}

/* ---------- hero / busca direta no fundo ---------- */
.inicio-v2 {
    max-width: 980px;
    margin: 0 auto;
    padding: 32px 15px 30px;
    text-align: left;
}
.inicio-v2 h1 {
    font-size: clamp(1.6rem, 4.5vw, 2.3rem);
    font-weight: 800;
    color: var(--cor-primaria);
    margin-bottom: 6px;
}
.inicio-v2 .sub {
    color: var(--cor-texto-suave);
    font-size: 1.02rem;
    margin-bottom: 22px;
}

.busca-v2 input[name="q"] {
    width: 100%;
    padding: 14px 16px;
    font-size: 1.08rem;
    border: 2px solid var(--cor-borda);
    border-radius: 4px;
    margin-bottom: 10px;
    background: #fff;
}
.busca-v2 input[name="q"]:focus {
    border-color: var(--cor-primaria);
    outline: none;
    box-shadow: 0 0 0 3px var(--cor-primaria-clara);
}
.busca-v2-filtros {
    display: grid;
    grid-template-columns: repeat(6, 1fr) auto;
    gap: 8px;
    align-items: end;
}
.busca-v2-filtros .campo { margin: 0; }
.busca-v2-filtros select,
.busca-v2-filtros input[type="text"] {
    width: 100%;
    padding: 10px 10px;
    border: 1px solid var(--cor-borda);
    border-radius: 4px;
    font-size: .92rem;
    background: #fff;
    margin: 0;
}
.busca-v2 button[type="submit"] {
    border-radius: 4px;
    padding: 10px 26px;
    font-size: .95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    white-space: nowrap;
}

/* ---------- atalhos retos ---------- */
.atalhos-v2 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 20px 0 28px;
}
.atalhos-v2 a {
    padding: 9px 15px;
    border: 1px solid var(--cor-borda);
    border-radius: 4px;
    background: #fff;
    color: var(--cor-texto);
    text-decoration: none;
    font-size: .92rem;
    font-weight: 600;
}
.atalhos-v2 a:hover {
    border-color: var(--cor-primaria);
    color: var(--cor-primaria);
}

/* ---------- Peça que Serve: destaque próprio ---------- */
.pqs-v2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    background: var(--cor-primaria);
    border-radius: 4px;
    padding: 24px 26px;
    margin-bottom: 28px;
}
.pqs-v2 h2 {
    font-size: 1.25rem;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}
.pqs-v2 h2 svg { flex: 0 0 auto; }
.pqs-v2 p { color: var(--cor-primaria-clara); margin-bottom: 4px; }
.pqs-v2 small { color: var(--cor-primaria-clara); opacity: .75; }
.pqs-v2 .botao-v2 {
    background: var(--cor-acao);
    color: #fff;
    padding: 12px 26px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
}
.pqs-v2 .botao-v2:hover { background: var(--cor-acao-hover); }

/* ---------- anunciar ---------- */
.anunciar-v2 {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 36px;
}
.anunciar-v2 strong { font-size: 1rem; color: var(--cor-texto); }
.anunciar-v2 .botao-v2 {
    background: var(--cor-acao);
    color: #fff;
    padding: 11px 22px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 700;
    font-size: .9rem;
}
.anunciar-v2 .botao-v2:hover { background: var(--cor-acao-hover); }

/* ---------- Peça que Serve: layout com lateral ---------- */
.pqs-layout {
    display: grid;
    grid-template-columns: 1fr 270px;
    gap: 28px;
    align-items: start;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 15px;
}
.pqs-form {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    background: var(--cor-superficie);
    border: 1px solid var(--cor-borda);
    border-radius: 4px;
    padding: 18px;
    margin-top: 18px;
}
.pqs-form h3 { grid-column: 1 / -1; margin: 0 0 2px; }
.pqs-form .campo { margin: 0; }
.pqs-form .campo-m { grid-column: span 3; }
.pqs-form .campo-t { grid-column: span 2; }
.pqs-form .campo-acao { grid-column: 1 / -1; }
.pqs-form .campo-acao button { width: 100%; padding: 12px; font-size: 1rem; }

/* Variante para usar dentro de cards (buscar.php, ver-tudo.php) */
.pqs-form.fluido {
    background: transparent;
    border: none;
    padding: 0;
    margin-top: 0;
    margin-bottom: 22px;
}
.pqs-form .campo-acao-2,
.pqs-form .campo-acao-3 { grid-column: span 2; align-self: end; }
.pqs-form .campo-acao-3 { grid-column: span 3; }
.pqs-form .campo-acao-2 button,
.pqs-form .campo-acao-3 button { width: 100%; padding: 12px; font-size: 1rem; }

.pqs-layout > .lista-anuncios {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
}
.pqs-aside { display: flex; flex-direction: column; gap: 14px; }
.pqs-card {
    background: var(--cor-superficie);
    border: 1px solid var(--cor-borda);
    border-radius: 4px;
    padding: 14px 16px;
}
.pqs-card h4 {
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--cor-primaria);
    margin-bottom: 10px;
    border-bottom: 1px solid var(--cor-borda);
    padding-bottom: 6px;
}
.pqs-card ul { list-style: none; }
.pqs-card li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    padding: 5px 0;
    font-size: .9rem;
    border-bottom: 1px dotted var(--cor-borda);
}
.pqs-card li:last-child { border-bottom: none; }
.pqs-card li a { color: var(--cor-texto); text-decoration: none; }
.pqs-card li a:hover { color: var(--cor-acao); }
.pqs-card li span { color: var(--cor-texto-suave); font-size: .78rem; white-space: nowrap; }
.pqs-card .pqs-vazio { color: var(--cor-texto-suave); font-size: .85rem; }
.pqs-card-cta { background: var(--cor-primaria); border-color: var(--cor-primaria); }
.pqs-card-cta h4 { color: #fff; border-bottom-color: rgba(255,255,255,.25); }
.pqs-card-cta p { color: var(--cor-primaria-clara); font-size: .85rem; margin-bottom: 10px; }
.pqs-card-cta .botao-v2 {
    display: inline-block;
    background: var(--cor-acao);
    color: #fff;
    padding: 9px 18px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 700;
    font-size: .85rem;
}
.pqs-card-cta .botao-v2:hover { background: var(--cor-acao-hover); }

@media (max-width: 860px) {
    .pqs-layout { grid-template-columns: 1fr; }
    .pqs-aside { flex-direction: row; flex-wrap: wrap; }
    .pqs-card { flex: 1 1 220px; }
}
@media (max-width: 700px) {
    .pqs-form { grid-template-columns: 1fr; }
    .pqs-form .campo-m,
    .pqs-form .campo-t,
    .pqs-form .campo-acao,
    .pqs-form .campo-acao-2,
    .pqs-form .campo-acao-3 { grid-column: 1 / -1; }
}

/* ---------- páginas institucionais (docs) ---------- */
body.v2 .doc { max-width: 760px; }
body.v2 .doc h3 {
    margin: 26px 0 8px;
    color: var(--cor-primaria);
    font-size: 1.05rem;
    border-bottom: 1px solid var(--cor-borda);
    padding-bottom: 4px;
}
body.v2 .doc ul { margin: 8px 0 14px; padding-left: 22px; }
body.v2 .doc li { margin-bottom: 6px; }
body.v2 .doc-sub { font-size: 1.05rem; color: var(--cor-texto-suave); font-style: italic; }
body.v2 .doc-atualizado { font-size: .85rem; color: var(--cor-texto-suave); }

/* ---------- impulsionamento / destaques ---------- */
.badge-destaque {
    display: inline-block; background: #F47B20; color: #fff; font-size: .68rem;
    font-weight: 700; text-transform: uppercase; letter-spacing: .4px;
    padding: 3px 8px; border-radius: 3px; margin-bottom: 6px;
}
.card-destaque { border-color: #F47B20 !important; box-shadow: 0 0 0 1px #F47B20; }
.botao-impulsionar { background: #123B4A !important; }
.botao-impulsionar:hover { background: #0C2A35 !important; }

.destaque-slots { display: grid; gap: 10px; margin: 18px 0; }
.destaque-slot {
    display: flex; align-items: center; gap: 14px; position: relative;
    background: #FFF4E8; border: 1px solid #F3D9B8; border-radius: 4px;
    padding: 12px 14px; color: var(--cor-texto, #20262A); text-decoration: none;
}
.destaque-slot img { height: 52px; width: auto; border-radius: 3px; }
.destaque-slot-texto strong { display: block; font-size: 1rem; }
.destaque-slot-texto span { font-size: .85rem; color: var(--cor-texto-suave); }
.destaque-tag {
    position: absolute; top: 6px; right: 8px; font-style: normal;
    font-size: .6rem; color: #B8860B; text-transform: uppercase; letter-spacing: .5px;
}
aside .destaque-slots { margin-top: 16px; }
aside .destaque-slot { flex-direction: column; align-items: flex-start; gap: 8px; }

/* abas da administração de listas (Dados do site) */
.dados-abas { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.dados-abas .botao { font-size: .85rem; padding: 7px 14px; }

/* ===== layout v2: form em seções + coluna lateral ===== */
.av-split { max-width: 1100px; margin: 22px auto 40px; display: grid; grid-template-columns: 1fr 320px; gap: 22px; align-items: start; }
.av-secao { background: #fff; border: 1px solid #DDE2E4; border-radius: 8px; margin-bottom: 18px; overflow: hidden; }
.av-secao-titulo { display: flex; align-items: center; gap: 10px; padding: 13px 20px; background: #123B4A; color: #fff; font-size: .92rem; font-weight: 600; letter-spacing: .3px; }
.av-secao-titulo span { background: #F47B20; color: #fff; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; flex: none; }
.av-secao-corpo { padding: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px 18px; }
.av-secao-corpo .campo { margin: 0; }
.av-secao-corpo .campo-full { grid-column: 1 / -1; }
.av-resumo { position: sticky; top: 16px; }
.av-resumo-card { background: #123B4A; color: #fff; border-radius: 8px; padding: 20px; margin-bottom: 16px; }
.av-resumo-card h3 { margin: 0 0 4px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #9FB8C2; }
.av-resumo-titulo { font-size: 1.25rem; font-weight: 700; margin: 6px 0 2px; min-height: 1.5em; }
.av-resumo-linha { color: #C7D6DC; font-size: .9rem; margin-top: 8px; }
.av-resumo-linha b { color: #fff; }
.av-resumo-preco { color: #F47B20; font-size: 1.5rem; font-weight: 700; margin-top: 12px; }
.av-dicas { background: #fff; border: 1px solid #DDE2E4; border-radius: 8px; padding: 18px 20px; }
.av-dicas h4 { margin: 0 0 10px; color: #123B4A; }
.av-dicas ul { margin: 0; padding-left: 18px; color: #687178; font-size: .88rem; line-height: 1.7; }
.av-split-footer { display: flex; gap: 12px; align-items: center; }
.av-split-footer button[type="submit"] { background: #F47B20; color: #fff; border: 0; padding: 13px 40px; border-radius: 6px; font-size: 1rem; font-weight: 600; cursor: pointer; }
.av-split-footer button[type="submit"]:hover { background: #D95F02; }
@media (max-width: 860px) { .av-split { grid-template-columns: 1fr; } .av-resumo { position: static; } }
@media (max-width: 560px) { .av-secao-corpo { grid-template-columns: 1fr; } }
.av-form-wrap { max-width: 700px; margin: 22px auto 40px; }
.av-form-solo { max-width: 560px; margin: 26px auto; }
.av-form-solo .av-secao-corpo { grid-template-columns: 1fr; }

/* checkboxes de opcionais (anunciar + filtros) */
.opcionais-lista { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 6px; }
.opcionais-lista.compacta { gap: 4px 12px; }
.opcional-item { display: inline-flex; align-items: center; gap: 6px; font-weight: 400; font-size: .92rem; cursor: pointer; }
.opcional-item input { width: auto; margin: 0; }

/* opcionais exibidos na página do anúncio */
.opcionais-anuncio { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.opcionais-anuncio li {
    background: #EDF3F0; color: #2E6B47; border: 1px solid #CBE0D4;
    padding: 5px 12px; border-radius: 4px; font-size: .88rem;
}
.opcionais-anuncio li::before { content: "✓ "; font-weight: 700; }

/* carrossel rotativo de destaques (home) */
.carrossel-destaques { position: relative; overflow: hidden; border-radius: 4px; margin-bottom: 26px; }
.carrossel-slide {
    display: none; align-items: center; gap: 18px; position: relative;
    background: var(--cor-primaria-escura, #0C2A35); color: #fff;
    border-radius: 4px; padding: 20px 22px; min-height: 110px;
    text-decoration: none;
}
.carrossel-slide.ativo { display: flex; }
.carrossel-slide img { height: 70px; width: auto; border-radius: 4px; }
.carrossel-texto strong { display: block; font-size: 1.2rem; }
.carrossel-texto span { font-size: .9rem; opacity: .85; }
.carrossel-dots { display: flex; gap: 6px; justify-content: center; padding: 8px 0 0; }
.carrossel-dot {
    width: 9px; height: 9px; border-radius: 50%; border: 0; cursor: pointer;
    background: var(--cor-borda, #DDE2E4); padding: 0;
}
.carrossel-dot.ativo { background: #F47B20; }
.carrossel-destaques .destaque-tag { color: #F3B07A; }

/* card de destaque injetado na grade de anúncios */
.card-slot {
    border: 1px dashed #F47B20 !important; background: #FFF9F3 !important;
    display: flex; flex-direction: column; position: relative;
}
.card-slot .card-slot-icone {
    font-size: 2rem; color: #F47B20; text-align: center; padding: 22px 0;
    background: #FFF4E8; width: 100%;
}
.card-slot img { width: 100%; height: 160px; object-fit: cover; }
.card-slot h3 { margin-top: 8px; }
.card-slot .destaque-tag { position: static; display: inline-block; margin-top: 8px; }

/* ---------- ações do painel ---------- */
.painel-acoes { display: flex; gap: 6px; flex-wrap: wrap; }
.painel-acoes .botao { font-size: .82rem; padding: 7px 12px; }
.botao-perigo { background: var(--cor-erro, #C83E3E) !important; }
.botao-perigo:hover { filter: brightness(.9); }

/* ---------- badge de mensagens não lidas ---------- */
.badge-nova {
    display: inline-block;
    background: var(--cor-acao);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    margin-left: 8px;
    vertical-align: middle;
}

/* ---------- rodapé com links ---------- */
.rodape-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 18px;
    margin: 14px 0;
}
.rodape-links a {
    color: var(--cor-primaria-clara);
    text-decoration: none;
    font-size: .88rem;
}
.rodape-links a:hover { color: #fff; text-decoration: underline; }
.rodape-nota { font-size: .82rem; opacity: .8; margin-top: 6px; }

/* ---------- seções inferiores mais retas ---------- */
body.v2 .explica-bloco,
body.v2 .passo,
body.v2 .banner-institucional,
body.v2 .card,
body.v2 .campo input,
body.v2 .campo select,
body.v2 .campo textarea,
body.v2 button,
body.v2 .botao,
body.v2 .botao-secundario,
body.v2 .botao-grande,
body.v2 .atalho,
body.v2 .mensagem,
body.v2 .pagina a,
body.v2 .pagina span,
body.v2 .admin-card,
body.v2 .admin-tabela,
body.v2 .admin-filtros input,
body.v2 .admin-filtros select { border-radius: 4px; }

body.v2 .explicacao,
body.v2 .tutorial { padding-top: 6px; }

@media (max-width: 900px) {
    .busca-v2-filtros { grid-template-columns: repeat(3, 1fr); }
    .busca-v2 button[type="submit"] { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    .busca-v2-filtros { grid-template-columns: 1fr 1fr; }
    .pqs-v2 { padding: 18px; }
}

/* Projetos (feed estilo Instagram) e Profissionais */
.proj-tag { display:inline-block; border:1px solid var(--cor-primaria, #123B4A); color:#123B4A; border-radius:20px; padding:2px 10px; font-size:0.78rem; font-weight:600; }
.proj-tags { display:flex; gap:6px; flex-wrap:wrap; margin:4px 0 0; }
.proj-meta { color:#687178; font-size:0.85rem; }
.projeto-acoes { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:12px 0; }
.botao-curtir { background:#fff; border:1px solid #DDE2E4; border-radius:20px; padding:6px 16px; font-size:1rem; color:#C83E3E; cursor:pointer; }
.botao-curtir.curtido { background:#C83E3E; color:#fff; border-color:#C83E3E; }
.botao-curtir:disabled { opacity:0.5; cursor:default; }
.proj-galeria { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px; margin-bottom:14px; }
.proj-foto { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; }
.badge-verificado { display:inline-block; background:#3E8E5B; color:#fff; border-radius:4px; padding:2px 8px; font-size:0.75rem; font-weight:700; }
.ficha-tecnica { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:8px 20px; background:#F8F8F6; border:1px solid #DDE2E4; border-radius:8px; padding:14px; margin:10px 0; }
@media (max-width:600px) { .proj-galeria { grid-template-columns:repeat(2, 1fr); } }

/* ---------- feed Projetos (estilo Instagram) ---------- */
.feed-topo { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin:20px 0 14px; }
.feed-topo-titulo h2 { margin:0; font-size:1.4rem; color:var(--cor-primaria); }
.feed-topo-titulo p { margin:2px 0 0; font-size:.85rem; color:var(--cor-texto-suave); }
.feed-filtros { display:flex; gap:8px; flex-wrap:wrap; align-items:center; background:#fff; border:1px solid var(--cor-borda); border-radius:10px; padding:10px 12px; margin-bottom:20px; }
.feed-filtros input, .feed-filtros select { border:1px solid var(--cor-borda); border-radius:6px; padding:8px 10px; font-size:.87rem; font-family:inherit; }
.feed-filtros input[type="text"] { flex:1; min-width:160px; }
.feed-filtros .feed-filtro-num { font-size:.8rem; color:var(--cor-texto-suave); margin-left:auto; white-space:nowrap; }

.pj-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.pj-card { background:#fff; border:1px solid var(--cor-borda); border-radius:12px; overflow:hidden; text-decoration:none; color:var(--cor-texto); display:flex; flex-direction:column; transition:transform .15s, box-shadow .15s; }
.pj-card:hover { transform:translateY(-4px); box-shadow:0 10px 24px rgba(18,59,74,.14); border-color:#B9C4C9; }
.pj-card.pj-boost { border-color:var(--cor-acento); box-shadow:0 0 0 1px var(--cor-acento); }
.pj-head { display:flex; align-items:center; gap:10px; padding:11px 14px; }
.pj-avatar { width:38px; height:38px; border-radius:50%; background:var(--cor-primaria); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; flex:0 0 38px; letter-spacing:.5px; }
.pj-head-txt { min-width:0; }
.pj-head-nome { font-weight:700; font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pj-head-sub { font-size:.74rem; color:var(--cor-texto-suave); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pj-boost-tag { margin-left:auto; flex:0 0 auto; }
.pj-foto { width:100%; aspect-ratio:1/1; object-fit:cover; background:#EDF0F1; display:block; }
.pj-body { padding:12px 14px 14px; display:flex; flex-direction:column; gap:7px; flex:1; }
.pj-acoes { display:flex; align-items:center; gap:14px; font-size:.88rem; }
.pj-like { color:var(--cor-erro); font-weight:700; }
.pj-views, .pj-chat-ico { color:var(--cor-texto-suave); }
.pj-titulo { margin:0; font-weight:700; font-size:.97rem; line-height:1.3; }
.pj-carro { margin:0; font-size:.82rem; color:var(--cor-texto-suave); }
.pj-card .proj-tags { margin-top:auto; padding-top:2px; }
@media (max-width:980px) { .pj-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:540px) { .pj-grid { grid-template-columns:1fr; } .feed-filtros input[type="text"] { min-width:100%; } }

/* ---------- diretório Profissionais (lista telefônica em cards) ---------- */
.dir-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.dir-card { display:flex; gap:14px; background:#fff; border:1px solid var(--cor-borda); border-left:4px solid var(--cor-primaria); border-radius:10px; padding:14px 16px; text-decoration:none; color:var(--cor-texto); transition:transform .15s, box-shadow .15s; }
.dir-card:hover { transform:translateY(-3px); box-shadow:0 8px 20px rgba(18,59,74,.12); }
.dir-card.dir-boost { border-left-color:var(--cor-acento); background:linear-gradient(90deg,#FFF8F1,#fff 40%); }
.dir-foto { width:88px; height:88px; border-radius:8px; object-fit:cover; background:#EAF1F4; flex:0 0 88px; }
.dir-foto-vazia { width:88px; height:88px; border-radius:8px; background:var(--cor-primaria); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.7rem; font-weight:700; flex:0 0 88px; }
.dir-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; }
.dir-nome { font-size:1.02rem; font-weight:700; color:var(--cor-primaria); display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.dir-local { font-size:.8rem; color:var(--cor-texto-suave); }
.dir-desc { font-size:.83rem; color:var(--cor-texto-suave); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.dir-contato { display:flex; gap:8px; margin-top:auto; padding-top:8px; flex-wrap:wrap; }
.dir-chip { display:inline-flex; align-items:center; gap:5px; border:1px solid var(--cor-borda); border-radius:20px; padding:3px 11px; font-size:.78rem; font-weight:600; }
.dir-chip.tel { color:var(--cor-primaria); }
.dir-chip.zap { color:#3E8E5B; border-color:#BFDCC9; background:#F0F8F3; }
.dir-chip.chat { color:var(--cor-acento); border-color:#F3D9B8; background:#FFF8F1; }
@media (max-width:860px) { .dir-grid { grid-template-columns:1fr; } }
@media (max-width:420px) { .dir-card { flex-direction:column; } .dir-foto, .dir-foto-vazia { width:100%; height:140px; flex:none; } }

/* ---------- perfil público: grade de fotos estilo Instagram ---------- */
.pj-grade-fotos { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.pj-tile { position:relative; display:block; border-radius:8px; overflow:hidden; aspect-ratio:1/1; background:#EDF0F1; }
.pj-tile img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .2s; }
.pj-tile:hover img { transform:scale(1.05); }
.pj-tile-info { position:absolute; left:0; right:0; bottom:0; padding:18px 10px 8px; background:linear-gradient(transparent, rgba(18,59,74,.85)); color:#fff; font-size:.75rem; display:flex; align-items:flex-end; justify-content:space-between; gap:6px; }
.pj-tile-info strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:860px) { .pj-grade-fotos { grid-template-columns:repeat(3,1fr); } }
@media (max-width:480px) { .pj-grade-fotos { grid-template-columns:repeat(2,1fr); } }

/* ---------- painel: mini-card com foto ---------- */
.painel-lista { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.painel-item { display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--cor-borda); border-radius:10px; padding:10px 14px 10px 10px; }
.painel-thumb { width:96px; height:72px; border-radius:8px; object-fit:cover; background:#EDF0F1; flex:0 0 96px; }
.painel-thumb-sem { width:96px; height:72px; border-radius:8px; background:var(--cor-primaria); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.3rem; font-weight:700; flex:0 0 96px; }
.painel-item-info { flex:1; min-width:0; }
.painel-item-info > a strong { color:var(--cor-primaria); font-size:1rem; }
.painel-item-info .painel-item-meta { color:var(--cor-texto-suave); font-size:.82rem; margin-top:2px; }
@media (max-width:560px) { .painel-item { flex-wrap:wrap; } .painel-thumb, .painel-thumb-sem { width:72px; height:56px; flex-basis:72px; } }

/* ---------- mensagens estilo WhatsApp ---------- */
.wa-wrap { display:grid; grid-template-columns:340px 1fr; background:var(--cor-superficie); border:1px solid var(--cor-borda); border-radius:14px; overflow:hidden; min-height:520px; height:calc(100vh - 200px); box-shadow:0 4px 18px rgba(18,59,74,.10); }
.wa-wrap-lista { grid-template-columns:1fr; max-width:720px; margin:0 auto; }
.wa-lista { border-right:1px solid var(--cor-borda); overflow-y:auto; background:var(--cor-superficie); }
.wa-lista-topo { background:var(--cor-primaria); color:#fff; font-weight:700; font-size:1rem; padding:14px 16px; letter-spacing:.3px; }
.wa-conv { display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--cor-borda); text-decoration:none; color:inherit; }
.wa-conv:hover { background:#F2F6F7; }
.wa-conv.ativa { background:var(--cor-primaria-clara); border-left:3px solid var(--cor-acao); padding-left:11px; }
.wa-conv-txt { flex:1; min-width:0; }
.wa-conv-top { display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.wa-conv-nome { font-weight:700; font-size:.92rem; color:var(--cor-primaria); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wa-conv-hora { font-size:.7rem; color:var(--cor-texto-suave); flex:none; }
.wa-conv-sub { font-size:.72rem; color:var(--cor-acao); font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wa-conv-prev { font-size:.8rem; color:var(--cor-texto-suave); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wa-badge { background:var(--cor-acao); color:#fff; border-radius:12px; font-size:.7rem; font-weight:700; padding:1px 8px; flex:none; }
.wa-badge-menu { margin-left:4px; padding:0 7px; font-size:.68rem; }
.wa-vazio { color:var(--cor-texto-suave); text-align:center; padding:30px 16px; }

.wa-chat { display:flex; flex-direction:column; min-width:0; }
.wa-voltar { display:none; }
.wa-chat-head { background:var(--cor-primaria); color:#fff; padding:10px 16px; display:flex; align-items:center; gap:12px; }
.wa-chat-head-txt { min-width:0; }
.wa-chat-nome { font-weight:700; font-size:.98rem; }
.wa-chat-item { color:#F3D9B8; font-size:.78rem; text-decoration:none; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wa-chat-item:hover { color:#fff; text-decoration:underline; }
.wa-msgs { flex:1; overflow-y:auto; padding:18px 16px; display:flex; flex-direction:column; gap:5px; background:#E8EEF1 repeating-linear-gradient(45deg, transparent, transparent 14px, rgba(18,59,74,.025) 14px, rgba(18,59,74,.025) 28px); }
.wa-msg { max-width:72%; padding:7px 11px 6px; border-radius:10px; font-size:.9rem; line-height:1.35; box-shadow:0 1px 2px rgba(18,59,74,.12); position:relative; word-wrap:break-word; }
.wa-msg.minha { align-self:flex-end; background:var(--cor-primaria); color:#fff; border-bottom-right-radius:2px; }
.wa-msg.dele { align-self:flex-start; background:#fff; color:var(--cor-texto); border-bottom-left-radius:2px; border:1px solid var(--cor-borda); }
.wa-msg-foto { max-width:230px; width:100%; border-radius:8px; display:block; margin-bottom:4px; }
.wa-hora { display:block; font-size:.64rem; opacity:.65; text-align:right; margin-top:3px; }
.wa-form { display:flex; align-items:center; gap:9px; padding:10px 14px; background:#EFF3F4; border-top:1px solid var(--cor-borda); }
.wa-anexar { font-size:1.25rem; cursor:pointer; color:var(--cor-texto-suave); flex:none; line-height:1; }
.wa-anexar:hover { color:var(--cor-acao); }
.wa-foto-nome { font-size:.72rem; color:var(--cor-texto-suave); max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:none; }
.wa-form input[name="conteudo"] { flex:1; min-width:0; border:1px solid var(--cor-borda); border-radius:22px; padding:10px 16px; font-size:.9rem; background:#fff; }
.wa-form input[name="conteudo"]:focus { outline:none; border-color:var(--cor-acao); box-shadow:0 0 0 2px rgba(244,123,32,.18); }
.wa-enviar { width:44px; height:44px; border-radius:50%; border:none; background:var(--cor-acao); color:#fff; font-size:1.05rem; cursor:pointer; flex:none; display:flex; align-items:center; justify-content:center; transition:background .15s; }
.wa-enviar:hover { background:var(--cor-acao-hover); }
.wa-lista-completa { overflow-y:auto; }

@media (max-width:760px) {
    .wa-wrap { grid-template-columns:1fr; height:calc(100vh - 170px); border-radius:0; border-left:none; border-right:none; }
    .wa-lista { display:none; }
    .wa-voltar { display:inline-block; background:var(--cor-primaria-clara); color:var(--cor-primaria); font-size:.8rem; font-weight:700; padding:7px 14px; text-decoration:none; }
    .wa-msg { max-width:85%; }
}

/* ---------- coluna lateral contextual (últimos itens) ---------- */
.lay-side-wrap { display:grid; grid-template-columns:1fr 280px; gap:26px; align-items:start; }
.lay-main { min-width:0; }
.lay-col { position:sticky; top:16px; }
.lat-box { background:var(--cor-superficie); border:1px solid var(--cor-borda); border-radius:12px; overflow:hidden; box-shadow:0 2px 10px rgba(18,59,74,.06); }
.lat-titulo { background:var(--cor-primaria); color:#fff; font-size:.82rem; font-weight:700; letter-spacing:.4px; text-transform:uppercase; padding:11px 14px; }
.lat-item { display:flex; gap:10px; align-items:center; padding:10px 12px; border-bottom:1px solid var(--cor-borda); text-decoration:none; color:inherit; }
.lat-item:hover { background:#F2F6F7; }
.lat-item img { width:56px; height:56px; border-radius:8px; object-fit:cover; flex:0 0 56px; background:#EDF0F1; }
.lat-txt { min-width:0; }
.lat-txt strong { display:block; font-size:.84rem; color:var(--cor-primaria); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.25; }
.lat-txt small { font-size:.72rem; color:var(--cor-texto-suave); }
.lat-vazio { font-size:.82rem; color:var(--cor-texto-suave); padding:14px; text-align:center; }
.lat-todos { display:block; text-align:center; font-size:.8rem; font-weight:700; color:var(--cor-acao); padding:10px; text-decoration:none; }
.lat-todos:hover { color:var(--cor-acao-hover); background:#FFF8F1; }
.lat-box + .destaque-slots, .lat-box ~ .destaque-slots { margin-top:14px; }
@media (max-width:960px) { .lay-side-wrap { grid-template-columns:1fr; } .lay-col { position:static; } }

/* ---------- comparar: cartas estilo Super Trunfo ---------- */
.cmp-hero .av-secao-corpo { position:relative; }
.cmp-intro { color:var(--cor-texto-suave); font-size:.9rem; margin:0 0 14px; line-height:1.5; }
.cmp-busca-box { position:relative; }
.cmp-busca-box input { width:100%; border:1px solid var(--cor-borda); border-radius:24px; padding:12px 20px; font-size:.95rem; }
.cmp-busca-box input:focus { outline:none; border-color:var(--cor-acao); box-shadow:0 0 0 3px rgba(244,123,32,.15); }
.cmp-resultados { position:absolute; left:0; right:0; top:calc(100% + 6px); background:#fff; border:1px solid var(--cor-borda); border-radius:12px; box-shadow:0 10px 30px rgba(18,59,74,.18); z-index:30; max-height:340px; overflow-y:auto; display:none; }
.cmp-resultados.aberta { display:block; }
.cmp-res { display:flex; align-items:center; gap:10px; width:100%; padding:9px 12px; border:none; border-bottom:1px solid var(--cor-borda); background:#fff; cursor:pointer; text-align:left; font-family:inherit; }
.cmp-res:hover { background:#F2F6F7; }
.cmp-res.usado { opacity:.45; cursor:default; }
.cmp-res img { width:52px; height:40px; object-fit:cover; border-radius:6px; flex:none; background:#EDF0F1; }
.cmp-res-txt { min-width:0; }
.cmp-res-txt strong { display:block; font-size:.85rem; color:var(--cor-primaria); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cmp-res-txt small { font-size:.74rem; color:var(--cor-texto-suave); }
.cmp-res-vazio { padding:14px; font-size:.85rem; color:var(--cor-texto-suave); text-align:center; }
.cmp-mesa-acoes { display:flex; align-items:center; gap:10px; margin-top:14px; flex-wrap:wrap; }
.cmp-contador { font-size:.8rem; color:var(--cor-texto-suave); font-weight:600; margin-right:auto; }

.cmp-scroll { overflow-x:auto; padding-bottom:6px; margin-top:20px; }
.cmp-grid { display:grid; gap:18px; }
.cmp-2 { grid-template-columns:repeat(2, minmax(235px, 1fr)); }
.cmp-3 { grid-template-columns:repeat(3, minmax(235px, 1fr)); }
.cmp-4 { grid-template-columns:repeat(4, minmax(235px, 1fr)); }
@media (max-width:560px) { .cmp-2, .cmp-3, .cmp-4 { grid-template-columns:repeat(4, 235px); } .cmp-grid.cmp-2 { grid-template-columns:repeat(2, 235px); } .cmp-grid.cmp-3 { grid-template-columns:repeat(3, 235px); } }

.cmp-carta { position:relative; background:var(--cor-superficie); border:2px solid var(--cor-primaria); border-radius:14px; overflow:hidden; box-shadow:0 4px 14px rgba(18,59,74,.12); display:flex; flex-direction:column; }
.cmp-carta.cmp-vencedora { border-color:var(--cor-acao); box-shadow:0 6px 22px rgba(244,123,32,.3); }
.cmp-selo { position:absolute; top:10px; left:10px; z-index:2; }
.cmp-selo:not(:empty) { background:var(--cor-acao); color:#fff; font-weight:800; font-size:.72rem; letter-spacing:.5px; padding:4px 12px; border-radius:20px; box-shadow:0 2px 8px rgba(0,0,0,.25); }
.cmp-foto { aspect-ratio:4/3; background:linear-gradient(135deg,#123B4A,#1E5A6E); }
.cmp-foto img { width:100%; height:100%; object-fit:cover; display:block; }
.cmp-carta-head { background:var(--cor-primaria); color:#fff; padding:10px 14px 12px; }
.cmp-carta-head strong { display:block; font-size:.95rem; line-height:1.25; }
.cmp-carta-head span { font-size:.74rem; color:#F3D9B8; }
.cmp-atrs { flex:1; }
.cmp-atr { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:7px 14px; font-size:.82rem; border-bottom:1px solid var(--cor-borda); }
.cmp-atr:nth-child(odd) { background:#F6F9FA; }
.cmp-atr-label { color:var(--cor-texto-suave); font-weight:600; font-size:.74rem; }
.cmp-atr-valor { font-weight:700; color:var(--cor-primaria); text-align:right; }
.cmp-atr.cmp-info .cmp-atr-valor { font-weight:500; color:var(--cor-texto-suave); font-size:.76rem; }
.cmp-atr.cmp-vence { background:#FFF4E8; }
.cmp-atr.cmp-vence .cmp-atr-valor { color:var(--cor-acao-hover); }
.cmp-carta-acoes { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background:var(--cor-fundo); border-top:1px solid var(--cor-borda); }
.cmp-ver { font-size:.8rem; font-weight:700; color:var(--cor-primaria); text-decoration:none; }
.cmp-ver:hover { color:var(--cor-acao); }
.cmp-remover { border:none; background:transparent; color:var(--cor-texto-suave); font-size:1rem; cursor:pointer; padding:2px 6px; border-radius:6px; }
.cmp-remover:hover { color:var(--cor-erro); background:#FBECEC; }

.cmp-vazio { grid-column:1/-1; text-align:center; padding:44px 20px; background:var(--cor-superficie); border:2px dashed var(--cor-borda); border-radius:14px; color:var(--cor-texto-suave); }
.cmp-vazio-icone { font-size:3rem; margin-bottom:8px; }
.cmp-vazio strong { display:block; color:var(--cor-primaria); font-size:1.1rem; margin-bottom:4px; }
.cmp-vazio p { margin:0; font-size:.88rem; }

.cmp-placar { margin-top:18px; }
.cmp-placar-box { display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:var(--cor-primaria); color:#fff; border-radius:12px; padding:14px 18px; }
.cmp-placar-titulo { font-weight:800; font-size:.8rem; letter-spacing:.6px; text-transform:uppercase; color:#F3D9B8; }
.cmp-ponto { font-size:.88rem; }
.cmp-ponto.lider { color:#F8B878; }
.cmp-ponto strong { color:var(--cor-acao); font-size:1rem; }
.cmp-empate { margin-left:auto; font-weight:700; font-size:.85rem; }
.cmp-dica { justify-content:center; font-weight:600; font-size:.92rem; }

/* ---------- carta Super Trunfo na página do anúncio ---------- */
.carta-duelo { display:flex; gap:24px; align-items:center; }
.carta-duelo-txt { flex:1; min-width:0; }
.carta-duelo-txt p { color:var(--cor-texto-suave); font-size:.9rem; margin:0 0 14px; }
.carta-duelo-txt .botao { display:inline-block; margin-bottom:8px; }
.carta-duelo-txt small { display:block; color:var(--cor-texto-suave); font-size:.78rem; }
.carta-duelo-card { width:280px; flex:0 0 280px; }
.cmp-carta-solo { width:100%; }
.cmp-carta-solo .cmp-foto { aspect-ratio:16/10; }
@media (max-width:700px) { .carta-duelo { flex-direction:column; } .carta-duelo-card { width:100%; max-width:340px; } }

/* ---------- lightbox global ---------- */
.js-foto { cursor:zoom-in; }
.lb-overlay { display:none; position:fixed; inset:0; z-index:9999; background:rgba(12,42,53,.93); align-items:center; justify-content:center; padding:20px; }
.lb-figura { position:relative; max-width:92vw; max-height:86vh; display:flex; flex-direction:column; align-items:center; }
.lb-img { max-width:92vw; max-height:78vh; object-fit:contain; border-radius:10px; box-shadow:0 8px 40px rgba(0,0,0,.5); }
.lb-legenda { color:#D9E5EA; font-size:.85rem; margin-top:10px; text-align:center; max-width:80vw; }
.lb-contador { color:#F3D9B8; font-weight:700; font-size:.8rem; margin-top:6px; letter-spacing:1px; }
.lb-fechar { position:absolute; top:16px; right:18px; z-index:2; background:rgba(255,255,255,.12); border:none; color:#fff; font-size:1.15rem; width:42px; height:42px; border-radius:50%; cursor:pointer; }
.lb-fechar:hover { background:var(--cor-acao); }
.lb-seta { position:absolute; top:50%; transform:translateY(-50%); z-index:2; background:rgba(255,255,255,.12); border:none; color:#fff; font-size:2rem; width:52px; height:64px; border-radius:12px; cursor:pointer; line-height:1; }
.lb-seta:hover { background:var(--cor-acao); }
.lb-ant { left:14px; }
.lb-prox { right:14px; }
@media (max-width:600px) { .lb-seta { width:40px; height:52px; font-size:1.5rem; } .lb-ant{left:6px;} .lb-prox{right:6px;} }

/* ---------- sinalizadores na galeria do anúncio ---------- */
.galeria { position:relative; }
.gal-seta { position:absolute; top:38%; transform:translateY(-50%); z-index:3; background:rgba(18,59,74,.65); color:#fff; border:none; font-size:1.5rem; width:42px; height:56px; border-radius:10px; cursor:pointer; line-height:1; display:flex; align-items:center; justify-content:center; }
.gal-seta:hover { background:var(--cor-acao); }
.gal-ant { left:10px; }
.gal-prox { right:10px; }
.gal-contador { position:absolute; bottom:10px; right:10px; z-index:3; background:rgba(18,59,74,.75); color:#fff; font-size:.74rem; font-weight:700; padding:4px 11px; border-radius:16px; pointer-events:none; }
.proj-galeria .proj-foto { transition:filter .15s; }
.proj-galeria .proj-foto:hover { filter:brightness(1.08); }
.galeria-miniaturas img.gal-mini-ativa { border-color:var(--cor-acao); }
