/* ═══════════════════════════════════════════════════════════════════════
   BOTÕES DE VIDRO — abas do /anuncios (porte da Micarla 02b3eb6/60c0de7, 30/09/2026).
   Ícone Tabler + rótulo + "›", bordas polidas, reflexo e profundidade.
   O que muda pra Layssa:
   • 7 abas (tem Esgotados e Monitor IA) — no celular elas não cabem com nome
     inteiro: viram ÍCONE em cima + nome curto (data-short) embaixo, com o
     contador virando selinho no canto.
   • Tom do vidro no VINHO da loja (#6e2329 = 110,35,41) em vez do rosé da Micarla.
   • A centralização continua a da Layssa (.tabs-spacer + #topSearchWrap flex:1).
   ═══════════════════════════════════════════════════════════════════════ */
.tabs { column-gap: 10px; align-items: center; padding-block: 7px; }
.tab-btn[data-tab] { --tab-rgb: 110, 35, 41; }
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(110, 35, 41, .07), transparent 40%),
    linear-gradient(135deg, rgba(110, 35, 41, .05), rgba(33, 26, 28, .015) 55%, rgba(110, 35, 41, .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; /* 05/10/2026: igual à Micarla (era 15px — abas grandes demais) */
  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(110, 35, 41, .06); }
body .tab-btn[data-tab].active {
  color: var(--primary);
  border-color: rgba(var(--tab-rgb), .45);
  border-top-color: rgba(255, 255, 255, .95);
  background-color: rgba(110, 35, 41, .08);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .95), inset 0 -1px 1px rgba(110, 35, 41, .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(--primary);
  background: rgba(110, 35, 41, .10);
  border-color: rgba(110, 35, 41, .35);
}

/* ── Escuro ── */
[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 {
  color: var(--text);
  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,
[data-theme="dark"] body .tab-btn[data-tab].active .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); }
@media (prefers-reduced-motion: reduce) { body .tab-btn[data-tab] { transition: none; } }

/* ── Cortes iguais aos da Micarla (05/10/2026): a partir de 1200px as abas ficam no tamanho
   NATURAL (zoom .8, 12px), centralizadas; a busca fica na mesma linha, à direita (espaçador +
   #topSearchWrap flex:1). Entre 1200 e 1899px, se não couber tudo, a busca quebra pra linha de
   baixo (centralizada) em vez de esticar as abas. ── */
@media (min-width: 1200px) and (max-width: 1899px) {
  body .tabs { flex-wrap: wrap; justify-content: center; row-gap: 8px; padding: 8px 16px; overflow: visible; }
  body .tabs > .tabs-spacer { display: none; }
  /* Busca flexível (220–364px): assim cabe NA MESMA LINHA das 7 abas a partir de ~1400px;
     só abaixo disso ela desce (centralizada). */
  body .tabs { column-gap: 8px; }
  body #topSearchWrap { flex: 1 1 220px !important; min-width: 0 !important; max-width: 364px; justify-content: center !important; }
}
/* ── Tablet (761–1199px), como na Micarla: as 7 abas dividem a 1ª linha por igual (compactas,
   nome curto com o ícone antes); a busca SEMPRE na 2ª linha. ── */
@media (min-width: 761px) and (max-width: 1199px) {
  body .tabs { flex-wrap: wrap; justify-content: center; row-gap: 8px; column-gap: 8px; padding: 8px 12px; overflow: visible; }
  body .tabs > .tabs-spacer { display: none; }
  body .tabs::after { content: ''; order: 5; flex-basis: 100%; height: 0; }
  body #topSearchWrap { order: 6; flex: 1 1 auto !important; justify-content: center !important; max-width: 560px; }
  body .tabs .tab-btn[data-tab] { zoom: 1; flex: 1 1 0; min-width: 0; max-width: 200px; 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; }
}
/* Tablet (761–1199px): nome curto (data-short), com o ícone antes dele. */
@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; }
}

/* ── Celular (≤760px), 05/10/2026 — igual à Micarla: as 7 abas NUMA linha só com o nome
   curto (data-short), sem ícone e sem "›"; contador vira selinho no canto (não come largura);
   busca na linha de baixo, largura inteira. Com 7 abas em 390px a fonte encolhe um pouco
   (clamp) pra "Repasses"/"Fechados" não saírem cortados. ── */
@media (max-width: 760px) {
  body .tabs { column-gap: 4px; row-gap: 8px; padding: 8px 6px; flex-wrap: wrap; }
  body .tabs > .tabs-spacer { display: none; }
  body .tabs::after { content: ''; order: 5; flex-basis: 100%; height: 0; }
  body .tabs .tab-btn[data-tab] {
    zoom: 1; position: relative; overflow: visible;
    flex: 1 1 0; min-width: 0; min-height: 40px; padding: 6px 1px;
    justify-content: center; gap: 0;
    font-size: clamp(9.5px, 2.7vw, 11.5px); letter-spacing: -.02em; border-radius: 13px; white-space: nowrap;
  }
  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 { display: none; }
  body .tabs .tab-btn[data-tab]::after { display: none; }
  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 #topSearchWrap { order: 6; flex: 1 1 100% !important; min-width: 0 !important; justify-content: center !important; }
}

/* ═══════════════════════════════════════════════════════════════════════
   BUSCA "Buscar anúncios" — 02/10/2026, pedido do dono: 30% maior e com o
   mesmo vidro das abas. Formato barra-pílula: campo à esquerda + botão
   escuro (noir) com a lupa à direita.
   300×34px -> 364×42px. Porte da Micarla 2929bd1 / Talita 3ec89e9 (Layssa, 05/10/2026).
   ═══════════════════════════════════════════════════════════════════════ */
body .ann-searchbar {
  position: relative; display: flex; align-items: stretch; gap: 4px;
  width: 100%; max-width: 364px; height: 42px; padding: 3px;
  box-sizing: border-box; border-radius: 999px;
  /* Vidro de verdade (02/10/2026, 2ª rodada): fundo quase transparente + blur,
     borda clara uniforme (antes o gradiente branco no canto esquerdo "cortava" a
     pílula e o botão encostava na borda). O botão agora é uma pílula interna. */
  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; 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 { height: 40px; }
  body .ann-searchbar__btn { width: 44px; font-size: 18px; }
}

/* Na Layssa a busca fica na faixa das abas, centralizada (#topSearchWrap). */
body #topSearchWrap { justify-content: center !important; }
body #topSearchWrap .ann-searchbar { max-width: 364px; width: 100%; }

/* ── Largura RESERVADA pro contador (05/10/2026, dono: "dá pra ver os botões se ajustando") ──
   Os números (40, 15, 15, 3, 72) chegam de fetches diferentes e cada um alargava a aba,
   empurrando as outras e a busca. Agora o selo vazio fica no lugar, invisível, já com a
   largura de até 4 dígitos — a aba nasce do tamanho final. No celular ele é absoluto
   (não entra na largura), então lá continua sumindo quando vazio. */
@media (min-width: 761px) {
  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; }
}

/* ═══ PC: abas + busca SEMPRE numa linha só (06/10/2026, pedido do dono) ═══════════════
   Antes, entre 1200 e 1899px a busca quebrava pra linha de baixo quando não cabia (no
   notebook / com zoom do navegador acontecia já em 1920px), e entre 761 e 1199px ela ia
   SEMPRE pra baixo. Agora, de 761px pra cima, nada quebra: os botões é que encolhem por
   degraus conforme a largura — some o "›", depois o rótulo vira o nome curto
   (data-short), depois o ícone diminui — e a busca encolhe junto (364px → 170px). */
@media (min-width: 761px) {
  body .tabs { flex-wrap: nowrap !important; overflow: visible; }
  body .tabs::after { display: none !important; }
  body .tabs .tab-btn[data-tab] { order: 0; flex: 0 1 auto; min-width: 0; max-width: none; }
  body #topSearchWrap { order: 0; flex: 0 1 364px !important; min-width: 170px !important; max-width: 364px; justify-content: flex-end !important; }
  body .tabs > .tabs-spacer { display: block; flex: 1 1 0 !important; min-width: 0 !important; }
}
/* até 1699px: sem o "›" (é decorativo) e com respiro menor entre os botões */
@media (min-width: 761px) and (max-width: 1699px) {
  body .tabs { column-gap: 6px; padding-inline: 10px; }
  body .tabs .tab-btn[data-tab]::after { display: none; }
}
/* 1200–1399px: rótulo inteiro, mas 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 (o bloco do tablet acima já troca o rótulo) */
@media (min-width: 761px) and (max-width: 1199px) {
  body .tabs .tab-btn[data-tab] { 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; }
  body .tabs .tab-btn[data-tab] .tab-icon { font-size: clamp(16px, 1.7vw, 20px); }
  body .tabs .tab-btn[data-tab] .tab-count { min-width: 22px; }
  body #topSearchWrap { flex-basis: 300px !important; min-width: 150px !important; }
}
/* 761–939px: o ícone sai (não cabe ícone + nome + contador em 7 botões) */
@media (min-width: 761px) and (max-width: 939px) {
  body .tabs .tab-btn[data-tab] .tab-icon { display: none; }
}
