/* ═══════════════════════════════════════════════════════════════════════
   BOTÕES DE VIDRO — abas do /anuncios (portado da comprecomigo aa2b1ff, 17/09/2026).
   Mesmo desenho de lá: ícone + rótulo + "›", bordas polidas, reflexo e profundidade,
   em tons NEUTROS. O que muda pra realidade da Micarla:
   • CLARO: lá o vidro fica sobre champanhe; aqui a faixa das abas é BRANCA (#F6EDED) e
     reflexo branco sobre branco some — o vidro ganha borda/sombra neutras da paleta e um
     leve véu rosé pra ter corpo.
   • ESCURO: os matizes dourados (207,185,153) viram os rosés da paleta (217,178,176).
   • ATIVA: anel no ACENTO da loja (lá é um anel preto neutro) — aqui há um acento só.
   • Aqui as abas ficam na faixa .tabs (a Micarla não tem a barra da shell nesta tela).
   • JOANA (02/10/2026): copiada da Micarla — mesma paleta (rosé claro / marinho escuro); 6 abas c/ Monitor IA.
   • CELULAR: mantém as abas NUMA linha com nome curto (regra da Micarla); sem ícone
     e sem "›" pra caber em 390px.
   ═══════════════════════════════════════════════════════════════════════ */
.tabs { column-gap: .5cm; align-items: center; padding-block: 7px; }
.tab-btn[data-tab] { --tab-rgb: 133, 96, 94; }
body .tab-btn[data-tab] {
  zoom: .8;
  flex-shrink: 0;
  min-height: 46px;
  padding: 7px 12px;
  gap: 8px;
  border: 1px solid rgba(33, 26, 28, .12);
  border-top-color: rgba(255, 255, 255, .9);
  border-left-color: rgba(255, 255, 255, .7);
  border-bottom-color: rgba(33, 26, 28, .16);
  border-radius: 18px;
  background:
    radial-gradient(ellipse at 0% 0%, rgba(255, 255, 255, .95), transparent 45%),
    radial-gradient(ellipse at 100% 100%, rgba(133, 96, 94, .07), transparent 40%),
    linear-gradient(135deg, rgba(133, 96, 94, .05), rgba(33, 26, 28, .015) 55%, rgba(133, 96, 94, .06));
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .9), inset 1px 0 1px rgba(255, 255, 255, .5),
    inset 0 -1px 1px rgba(33, 26, 28, .06), inset -1px 0 2px rgba(33, 26, 28, .05),
    0 4px 6px -2px rgba(33, 26, 28, .22), 2px 2px 4px rgba(33, 26, 28, .06);
  backdrop-filter: blur(6px) saturate(.2);
  -webkit-backdrop-filter: blur(6px) saturate(.2);
  color: #343033;
  font-size: 12px;
  font-weight: 750;
  opacity: 1;
  transition: background-color .18s, box-shadow .18s, transform .18s;
}
body .tab-btn[data-tab] .tab-icon { font-size: 27px; line-height: 1; color: inherit; flex-shrink: 0; }
body .tab-btn[data-tab]::after { content: '\203A'; font-size: 22px; font-weight: 400; margin-left: auto; opacity: .65; }
body .tab-btn[data-tab]:hover { background-color: rgba(133, 96, 94, .06); }
body .tab-btn[data-tab].active {
  color: var(--text);
  border-color: rgba(var(--tab-rgb), .45);
  border-top-color: rgba(255, 255, 255, .95);
  background-color: rgba(133, 96, 94, .08);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .95), inset 0 -1px 1px rgba(133, 96, 94, .12),
    0 0 0 1px rgba(var(--tab-rgb), .55), 0 4px 7px -2px rgba(33, 26, 28, .28);
}
body .tab-btn[data-tab]:focus-visible { outline: 3px solid rgb(var(--tab-rgb)); outline-offset: 2px; }
body .tab-btn[data-tab] .tab-count {
  color: inherit;
  background: rgba(33, 26, 28, .06);
  border-color: rgba(33, 26, 28, .14);
}
body .tab-btn[data-tab].active .tab-count {
  color: var(--accent);
  background: var(--accent-bg);
  border-color: var(--accent-border);
}

/* ── Escuro: o vidro guarda o tom rosé-quente do fundo da loja ── */
[data-theme="dark"] body .tab-btn[data-tab] {
  --tab-rgb: 217, 178, 176;
  color: var(--text);
  border-color: rgba(217, 178, 176, .18);
  border-top-color: rgba(226, 232, 240, .32);
  border-left-color: rgba(226, 232, 240, .25);
  border-bottom-color: rgba(217, 178, 176, .14);
  background:
    radial-gradient(ellipse at 0% 0%, rgba(226, 232, 240, .10), transparent 45%),
    radial-gradient(ellipse at 100% 100%, rgba(226, 232, 240, .07), transparent 40%),
    linear-gradient(135deg, rgba(217, 178, 176, .045), rgba(217, 178, 176, .015) 55%, rgba(217, 178, 176, .05));
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: inset 0 1px 1px rgba(226, 232, 240, .26), inset 1px 0 1px rgba(226, 232, 240, .10),
    inset 0 -1px 1px rgba(226, 232, 240, .13), 0 3px 6px -2px rgba(0, 0, 0, .3);
  text-shadow: 0 1px 2px rgba(0, 0, 0, .2);
}
[data-theme="dark"] body .tab-btn[data-tab]:hover { background-color: rgba(217, 178, 176, .06); }
[data-theme="dark"] body .tab-btn[data-tab].active {
  border-color: rgba(217, 178, 176, .8);
  background-color: rgba(217, 178, 176, .13);
  box-shadow: inset 0 1px 2px rgba(226, 232, 240, .38), inset 0 -1px 1px rgba(226, 232, 240, .2),
    0 0 0 1px rgba(217, 178, 176, .7), 0 3px 7px -2px rgba(0, 0, 0, .3);
}
[data-theme="dark"] body .tab-btn[data-tab] .tab-count {
  color: var(--text);
  background: rgba(217, 178, 176, .12);
  border-color: rgba(217, 178, 176, .18);
}
body .tab-btn[data-tab]:active { transform: scale(.97); }

/* ── Celular (mesmo corte das abas da Micarla: 760px) ── */
@media (max-width: 760px) {
  body .tabs { column-gap: 5px; padding: 7px 6px; }
  body .tabs .tab-btn[data-tab] {
    zoom: 1; flex: 1 1 0; min-width: 0; min-height: 40px; padding: 6px 4px;
    font-size: 11.5px; gap: 3px; border-radius: 13px; justify-content: center;
  }
  body .tabs .tab-btn[data-tab] .tab-icon { display: none; }
  body .tabs .tab-btn[data-tab]::after { display: none; }
}
@media (prefers-reduced-motion: reduce) { body .tab-btn[data-tab] { transition: none; } }

/* ── Abas CENTRALIZADAS na faixa — PC (17/09/2026, pedido do dono) ──────
   A busca (e o "+ Anúncio Manual", que só aparece na aba Fechados) carregam
   margin-left:auto no HTML, e margem automática COME todo o espaço livre da
   linha — com eles no fluxo, justify-content:center não tem efeito nenhum.
   Então no PC os dois saem do fluxo e ficam ancorados à direita da faixa (que é
   position:sticky, logo é o bloco de contenção deles), e as 4 abas se
   centralizam sozinhas de verdade (não "entre a margem e a busca").
   • !important porque margin-left/position estão INLINE no HTML.
   • min-height segura a altura da faixa quando os botões de aba estão escondidos
     (conferente), já que aí não sobraria nenhum item no fluxo pra dar altura.
   • Só a partir de 1800px (28/09/2026): com 5 abas + busca + "+ Anúncio Manual"
     ancorados, abaixo disso eles caíam POR CIMA das abas (iPad: busca sobre Repasses).
     Entre 761 e 1799px ficam no fluxo — ver bloco "Tablet / notebook" abaixo. */
@media (min-width: 1800px) {
  body .tabs { justify-content: center; min-height: 50px; }
  body #tabsSearchWrap {
    position: absolute !important;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0 !important;
  }
  body #btnAnnManualTop {
    position: absolute !important;
    right: calc(20px + min(300px, 32vw) + 12px);
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0 !important;
  }
}

/* ── Tablet / notebook (761–1799px) — 28/09/2026, pedido do dono ──────────
   Busca e "+ Anúncio Manual" ficam NO FLUXO (nada ancorado por cima das abas).
   Cabendo, vai tudo numa linha centralizada; não cabendo, quebra pra linha de baixo. */
@media (min-width: 761px) and (max-width: 1799px) {
  body .tabs { flex-wrap: wrap; justify-content: center; row-gap: 8px; column-gap: 10px; padding: 8px 16px; overflow: visible; }
  body #tabsSearchWrap, body #btnAnnManualTop { position: relative !important; right: auto; top: auto; transform: none; margin-left: 0 !important; }
  body #tabsSearchWrap { width: auto !important; flex: 0 1 300px; min-width: 200px; }
  body #tabsSearchWrap .ann-search { box-sizing: border-box; }
}
/* Tablet (761–1199px): as 5 abas dividem a 1ª linha por igual; "+ Anúncio Manual" e
   busca SEMPRE na 2ª (o ::after de 100% força a quebra; order põe os dois depois dele). */
@media (min-width: 761px) and (max-width: 1199px) {
  body .tabs { column-gap: 8px; }
  body .tabs::after { content: ''; order: 5; flex-basis: 100%; height: 0; }
  body #btnAnnManualTop { order: 6; }
  body #tabsSearchWrap { order: 7; flex: 1 1 auto; max-width: 560px; }
  body .tabs .tab-btn[data-tab] { zoom: 1; flex: 1 1 0; min-width: 0; max-width: 230px; justify-content: center; min-height: 42px; padding: 6px 8px; gap: 6px; font-size: 12.5px; border-radius: 14px; white-space: nowrap; }
  body .tabs .tab-btn[data-tab] .tab-icon { font-size: 20px; }
  body .tabs .tab-btn[data-tab]::after { display: none; }
}
/* iPad em pé (761–1023px): nome curto (data-short), com o ícone antes dele. */
@media (min-width: 761px) and (max-width: 1023px) {
  body .tabs .tab-btn[data-tab] > .tab-label { display: none; }
  body .tabs .tab-btn[data-tab]::before { content: attr(data-short); }
  body .tabs .tab-btn[data-tab] .tab-icon { order: -1; }
}
/* Celular (≤760px), 28/09/2026: com 5 abas + "+ Anúncio Manual" na mesma linha os nomes
   saíam cortados ("hados", "didos"). Agora: 5 abas na 1ª linha com o contador virando
   selinho no canto (não come largura); "+ Anúncio Manual" e busca lado a lado na 2ª. */
@media (max-width: 760px) {
  body .tabs { column-gap: 5px; row-gap: 8px; padding: 10px 8px 8px; }
  body .tabs::after { content: ''; order: 5; flex-basis: 100%; height: 0; }
  body .tabs .tab-btn[data-tab] { position: relative; overflow: visible; font-size: 11px; padding: 6px 2px; letter-spacing: -.02em; }
  body .tabs .tab-btn[data-tab] .tab-count { position: absolute; top: -7px; right: -3px; min-width: 16px; height: 16px; line-height: 14px; font-size: 9px !important; padding: 0 4px !important; border-radius: 99px; text-align: center; background: var(--surface2) !important; }
  body .tabs .tab-btn[data-tab] .tab-count:empty { display: none; }
  body #btnAnnManualTop { order: 6; height: 38px !important; }
  body #tabsSearchWrap { order: 7; flex: 1 1 0 !important; min-width: 0; padding: 0 !important; }
  body #tabsSearchWrap .ann-searchbar { height: 40px; }
}

/* ── JOANA (02/10/2026, pedido do dono — "igual à Layssa"): no PC (≥1200px) abas e
   busca numa linha SÓ. Abas no meio, busca à direita no fluxo (nada ancorado por cima).
   Dois espaçadores elásticos (::before/::after) centralizam as abas; se a janela não
   comportar, a busca quebra sozinha pra linha de baixo. Vale também ≥1800px (substitui
   o ancoramento absoluto da Micarla). */
@media (min-width: 1200px) {
  /* A barra da Joana tem 1100px (limite do .page-content): 6 abas (~806px) + gaps + busca
     só cabem numa linha com gap 8px e a busca podendo encolher até 170px. */
  body .tabs { flex-wrap: wrap; justify-content: center; row-gap: 8px; column-gap: 8px; padding: 8px 16px; overflow: visible; }
  body .tabs::before { content: ''; order: -1; flex: 1 1 0; min-width: 0; }
  body .tabs::after { content: ''; order: 1; flex: 1 1 0; min-width: 0; height: auto; flex-basis: 0; }
  body #btnAnnManualTop { order: 2; position: relative !important; right: auto; top: auto; transform: none; margin-left: 0 !important; }
  body #tabsSearchWrap { order: 3; position: relative !important; right: auto; top: auto; transform: none; margin-left: 0 !important; width: auto !important; flex: 0 1 260px; min-width: 170px; }
  body #tabsSearchWrap .ann-search { box-sizing: border-box; }
}

/* ═══════════════════════════════════════════════════════════════════════
   BUSCA "Buscar anúncios" — 02/10/2026, pedido do dono: igual à Talita (3ec89e9).
   Vidro transparente + blur, borda clara uniforme e a lupa numa pílula escura
   interna à direita. Ocupa a largura que o #tabsSearchWrap já dá em cada tela.
   ═══════════════════════════════════════════════════════════════════════ */
body .ann-searchbar {
  position: relative; display: flex; align-items: stretch; gap: 4px;
  width: 100%; height: 42px; padding: 3px;
  box-sizing: border-box; border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .55);
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .7), inset 0 -1px 1px rgba(24, 19, 16, .05),
    0 4px 10px -4px rgba(24, 19, 16, .22);
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
  transition: box-shadow .18s, border-color .18s, background-color .18s;
}
body .ann-searchbar:focus-within {
  border-color: rgba(201, 162, 106, .7);
  background: rgba(255, 255, 255, .26);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .8), 0 0 0 3px rgba(201, 162, 106, .18), 0 4px 10px -4px rgba(24, 19, 16, .26);
}
body .ann-searchbar input {
  flex: 1 1 auto; min-width: 0; width: auto; height: 100%;
  padding: 0 10px 0 15px; border: 0; outline: none; background: transparent;
  color: #343033; font-size: 14px; font-weight: 600;
}
body .ann-searchbar input::placeholder { color: rgba(52, 48, 51, .55); font-weight: 500; }
body .ann-searchbar__btn {
  flex: 0 0 auto; width: 50px; border: 1px solid rgba(255, 255, 255, .14); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  border-radius: 999px;
  background: rgba(24, 19, 16, .78);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  color: #e7c999; font-size: 19px;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .18), 0 2px 4px -1px rgba(24, 19, 16, .3);
  transition: background-color .15s, transform .15s;
}
body .ann-searchbar__btn:hover { background: rgba(24, 19, 16, .9); }
body .ann-searchbar__btn:active { transform: scale(.95); }
body .ann-searchbar__btn:focus-visible { outline: 2px solid #c9a26a; outline-offset: 2px; }

[data-theme="dark"] body .ann-searchbar {
  border-color: rgba(226, 232, 240, .16);
  background: rgba(255, 255, 255, .05);
  box-shadow: inset 0 1px 1px rgba(226, 232, 240, .18), 0 4px 10px -4px rgba(0, 0, 0, .4);
}
[data-theme="dark"] body .ann-searchbar:focus-within { border-color: rgba(201, 162, 106, .6); background: rgba(255, 255, 255, .08); box-shadow: 0 0 0 3px rgba(201, 162, 106, .15); }
[data-theme="dark"] body .ann-searchbar input { color: var(--text); }
[data-theme="dark"] body .ann-searchbar input::placeholder { color: var(--text); opacity: .5; }
[data-theme="dark"] body .ann-searchbar__btn { background: rgba(201, 162, 106, .82); color: #181310; border-color: rgba(255, 255, 255, .2); }
[data-theme="dark"] body .ann-searchbar__btn:hover { background: rgba(201, 162, 106, .95); }

@media (max-width: 760px) {
  body .ann-searchbar__btn { width: 44px; font-size: 18px; }
}

/* ═══ PC/tablet: abas + busca SEMPRE numa linha só (07/10/2026, pedido do dono — igual à
   Layssa c274120) ═══════════════════════════════════════════════════════════════════
   Antes a busca quebrava pra linha de baixo quando não cabia (com zoom do navegador
   acontecia já em 1920px). Agora, de 761px pra cima, nada quebra: os botões encolhem por
   degraus conforme a largura — some o "›", o rótulo vira o nome curto (data-short), o
   ícone diminui/sai — e a busca encolhe junto (300px → 160px). Os espaçadores ::before/
   ::after seguem centralizando as abas; a busca fica à direita. */
@media (min-width: 761px) {
  body .tabs { flex-wrap: nowrap !important; justify-content: center; overflow: visible; column-gap: 8px; }
  body .tabs::before { content: ''; order: -1; flex: 1 1 0; min-width: 0; }
  body .tabs::after { content: '' !important; display: block !important; order: 1 !important; flex: 1 1 0 !important; flex-basis: 0 !important; min-width: 0; height: auto !important; }
  body .tabs .tab-btn[data-tab] { order: 0; flex: 0 1 auto; min-width: 0; max-width: none; }
  body #btnAnnManualTop { order: 2 !important; position: relative !important; right: auto; top: auto; transform: none; margin-left: 0 !important; flex-shrink: 0; }
  body #tabsSearchWrap { order: 3 !important; position: relative !important; right: auto; top: auto; transform: none; margin-left: 0 !important; width: auto !important; flex: 0 1 300px !important; min-width: 160px !important; max-width: 300px; }
  body #tabsSearchWrap .ann-search { box-sizing: border-box; }
  /* contador com largura reservada: a aba já nasce do tamanho final (não "dança") */
  body .tab-btn[data-tab] .tab-count { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; box-sizing: border-box; }
  body .tab-btn[data-tab] .tab-count:empty { display: inline-flex; visibility: hidden; }
}
/* sem o "›" (é decorativo) e respiro menor — na Joana a barra tem só 1100px (.page-content),
   então isso vale em qualquer largura de PC, não só abaixo de 1700px como na Layssa */
@media (min-width: 761px) {
  body .tabs { column-gap: 6px; padding-inline: 10px; }
  body .tabs .tab-btn[data-tab]::after { display: none; }
}
/* 1200–1399px: rótulo inteiro, tudo um pouco menor */
@media (min-width: 1200px) and (max-width: 1399px) {
  body .tabs .tab-btn[data-tab] { zoom: .74; padding-inline: 10px; gap: 6px; }
  body .tabs .tab-btn[data-tab] .tab-icon { font-size: 24px; }
}
/* 761–1199px: nome curto com o ícone antes */
@media (min-width: 761px) and (max-width: 1199px) {
  body .tabs .tab-btn[data-tab] > .tab-label { display: none; }
  body .tabs .tab-btn[data-tab]::before { content: attr(data-short); }
  body .tabs .tab-btn[data-tab] .tab-icon { order: -1; font-size: clamp(16px, 1.7vw, 20px); }
  body .tabs .tab-btn[data-tab] { zoom: 1; flex: 0 1 auto; min-height: 40px; padding: 6px clamp(5px, .8vw, 9px); gap: 4px; font-size: clamp(11px, 1.15vw, 12.5px); border-radius: 13px; white-space: nowrap; }
  body .tabs .tab-btn[data-tab] .tab-count { min-width: 22px; }
  body #tabsSearchWrap { flex-basis: 260px !important; min-width: 150px !important; }
}
/* 761–939px: o ícone sai (não cabe ícone + nome + contador em 6 botões) */
@media (min-width: 761px) and (max-width: 939px) {
  body .tabs .tab-btn[data-tab] .tab-icon { display: none; }
}
