/* =====================================================
   MAYCO SANTOS — Leilões
   Design system "Bitcoin DeFi" (09/10/2026), o MESMO do /alertas:
   vazio quase preto, energia laranja/ouro, Space Grotesk nos títulos,
   Inter no texto, JetBrains Mono nos rótulos, números e valores.
   Botão é pílula que emite luz; cartão é bloco que acende ao passar o mouse.
   (nomes de classe "neo-*" mantidos por compatibilidade com as páginas)
   ===================================================== */

:root{
  /* papéis antigos, valores novos — as páginas usam estes nomes no style="" */
  --neo-bg:      #030304;   /* vazio (fundo) */
  --neo-surface: #0F1115;   /* matéria: cartões, faixas */
  --neo-white:   #15181F;   /* superfície elevada: campos, interruptores */
  --neo-ink:     #FFFFFF;   /* texto principal */
  --neo-navy:    #0A0C10;   /* painel escuro (herói, rodapé, destaque) */
  --neo-navy-2:  #030304;
  --neo-accent:  #F7931A;   /* laranja: ação, preço, foco */
  --neo-gold:    #FFD600;   /* ouro: valor, sucesso */
  --neo-yellow:  rgba(247,147,26,.10);   /* painel com tinta laranja */
  --neo-violet:  rgba(148,163,184,.08);  /* painel neutro */
  --neo-green:   rgba(34,197,94,.14);
  --neo-blue:    rgba(59,130,246,.14);
  --neo-danger:  #EF4444;
  --neo-muted:   #94A3B8;   /* poeira: texto secundário */
  --neo-line:    rgba(255,255,255,.10);
  --neo-shadow:  0 0 30px -12px rgba(247,147,26,.18);
  --neo-radius:  16px;
  --font-serif:  'Space Grotesk', system-ui, sans-serif;   /* nome antigo: agora é a fonte dos títulos */

  /* tokens do /alertas */
  --brasa:  #EA580C;
  --fio-2:  rgba(255,255,255,.20);
  --texto-2:rgba(255,255,255,.78);
  --grad:      linear-gradient(to right,#EA580C,#F7931A);
  --grad-ouro: linear-gradient(to right,#F7931A,#FFD600);
  --brilho:       0 0 20px -5px rgba(234,88,12,.5);
  --brilho-forte: 0 0 30px -5px rgba(247,147,26,.6);
  --brilho-ouro:  0 0 20px rgba(255,214,0,.3);
  --brilho-bloco: 0 0 30px -10px rgba(247,147,26,.2);
  --f-titulo: 'Space Grotesk', system-ui, sans-serif;
  --f-mono:   'JetBrains Mono', ui-monospace, SFMono-Regular, Consolas, monospace;
  color-scheme:dark;
}

*, *::before, *::after{ box-sizing:border-box; margin:0; padding:0; }
[hidden]{ display:none !important; }

html,body{
  background:var(--neo-bg);
  color:var(--neo-ink);
  font-family:'Inter', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.65;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
html{ scrollbar-color:var(--neo-accent) var(--neo-surface); }
/* ruído finíssimo por cima de tudo: o "vazio que respira" do /alertas */
body::after{ content:""; position:fixed; inset:0; pointer-events:none; z-index:2000; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font-family:inherit; cursor:pointer; }
:focus-visible{ outline:2px solid var(--neo-accent); outline-offset:3px; }
::selection{ background:rgba(247,147,26,.35); color:#fff; }
code{ font-family:var(--f-mono); font-size:.9em; background:rgba(255,255,255,.06); border:1px solid var(--neo-line); border-radius:6px; padding:1px 6px; }
hr{ border:0; border-top:1px solid var(--neo-line); }

/* ====== TIPOGRAFIA ====== */
h1,h2,h3,h4{ font-family:var(--f-titulo); font-weight:600; letter-spacing:-0.02em; line-height:1.1; text-wrap:balance; color:var(--neo-ink); }
h1{ font-size:clamp(34px, 6vw, 64px); font-weight:700; letter-spacing:-0.03em; }
h2{ font-size:clamp(26px, 4vw, 42px); }
h3{ font-size:clamp(19px, 2.4vw, 26px); }
h4{ font-size:18px; }

.neo-label{ font-family:var(--f-mono); font-weight:500; font-size:11px; text-transform:uppercase; letter-spacing:0.16em; color:var(--neo-muted); }
/* rótulo de seção no jeito do /alertas: "// 01 · Leilões" */
.neo-kicker{ font:500 12px/1 var(--f-mono); letter-spacing:.2em; text-transform:uppercase; color:var(--neo-accent); }
.grad-texto{ background:var(--grad-ouro); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ponto "ao vivo" */
.ping{ position:relative; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--neo-accent); box-shadow:0 0 10px var(--neo-accent); flex:none; }
.ping::after{ content:""; position:absolute; inset:0; border-radius:50%; background:inherit; animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite; }
.ping-ouro{ background:var(--neo-gold); box-shadow:0 0 10px var(--neo-gold); }
@keyframes ping{ 75%,100%{ transform:scale(2.6); opacity:0; } }

/* ====== HEADER ====== */
.neo-header{
  background:rgba(3,3,4,.72);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--neo-line);
  padding:10px 24px;
  display:flex;
  align-items:center;
  gap:20px;
  position:sticky;
  top:0;
  z-index:100;
}
.neo-logo{ display:inline-flex; align-items:center; }
/* o selo e um PNG quadrado de fundo branco: recortado em circulo vira medalhao,
   em vez de um quadrado branco solto no cabecalho escuro */
.neo-logo img{ border-radius:50%; box-shadow:0 0 0 1px rgba(247,147,26,.45), 0 0 18px -2px rgba(247,147,26,.45); }
.neo-logo-box{
  display:inline-block;
  background:rgba(234,88,12,.2);
  border:1px solid rgba(234,88,12,.5);
  color:#fff;
  font:700 17px/1 var(--f-titulo);
  padding:10px 14px;
  border-radius:8px;
  box-shadow:0 0 16px -4px rgba(234,88,12,.6);
}

.neo-nav{
  display:flex;
  gap:4px;
  margin-left:auto;
  align-items:center;
}
.neo-nav a{
  font:500 12px/1 var(--f-mono);
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:12px 14px;
  border-radius:999px;
  color:var(--neo-muted);
  transition:background .2s, color .2s, box-shadow .2s;
}
.neo-nav a:hover{ color:var(--neo-accent); background:rgba(255,255,255,.06); }
.neo-nav-cta{ background:var(--grad); color:#fff !important; box-shadow:var(--brilho); }
.neo-nav-cta:hover{ background:var(--grad) !important; box-shadow:var(--brilho-forte); }
.neo-nav-admin{ color:var(--neo-gold) !important; border:1px solid rgba(255,214,0,.35); box-shadow:var(--brilho-ouro); }
.neo-nav-admin:hover{ background:rgba(255,214,0,.08) !important; }
.neo-nav-out{ color:var(--neo-muted) !important; }

.neo-burger{
  display:none;
  background:rgba(255,255,255,.04);
  border:1px solid var(--fio-2);
  border-radius:999px;
  width:44px; height:44px;
  padding:0;
  margin-left:auto;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
}
.neo-burger span{ display:block; width:18px; height:2px; background:var(--neo-accent); border-radius:2px; }

@media (max-width:820px){
  .neo-header{ padding:10px 16px; gap:8px; }
  .neo-burger{ display:flex; }
  .neo-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0; right:0;
    background:rgba(3,3,4,.96);
    -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    border-bottom:1px solid var(--neo-line);
    flex-direction:column;
    gap:6px;
    padding:14px 16px 18px;
    margin:0;
  }
  .neo-nav.open{ display:flex; }
  .neo-nav a{ width:100%; text-align:center; padding:15px; }
}

/* ====== HERO ======
   Grade da rede em vinheta + nebulosas, como a capa do /alertas. Vem toda
   do CSS: as páginas continuam com a mesma marcação (.neo-hero > .neo-hero-inner). */
.neo-hero{
  padding:clamp(56px,9vw,112px) 24px clamp(48px,7vw,88px);
  background:
    radial-gradient(560px 560px at 88% -8%, rgba(247,147,26,.16), transparent 70%),
    radial-gradient(420px 420px at -6% 110%, rgba(255,214,0,.09), transparent 70%),
    var(--neo-bg);
  color:var(--neo-ink);
  border-bottom:1px solid var(--neo-line);
  position:relative;
  overflow:hidden;
}
.neo-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-size:50px 50px;
  background-image:linear-gradient(to right,rgba(30,41,59,.5) 1px,transparent 1px),linear-gradient(to bottom,rgba(30,41,59,.5) 1px,transparent 1px);
  -webkit-mask-image:radial-gradient(circle at center,#000 35%,transparent 100%); mask-image:radial-gradient(circle at center,#000 35%,transparent 100%);
}
.neo-hero-inner{ max-width:1200px; margin:0 auto; position:relative; z-index:2; }
.neo-cracha{
  display:inline-flex; align-items:center; gap:10px;
  font:500 11.5px/1.3 var(--f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--neo-accent);
  background:rgba(247,147,26,.08); border:1px solid rgba(247,147,26,.35); border-radius:999px;
  padding:9px 14px 9px 12px; margin-bottom:26px;
}
.neo-hero h1{
  font-size:clamp(46px, 9vw, 112px);
  font-weight:700;
  color:#fff;
  line-height:.96;
  letter-spacing:-.04em;
}
.neo-hero h1 .hi-red{ display:inline-block; padding-bottom:.06em; background:var(--grad-ouro); -webkit-background-clip:text; background-clip:text; color:transparent; }
.neo-hero h1 .hi-white{ color:#fff; display:inline-block; }
/* :not(.neo-cracha): o cracha tambem e <p>, e sem isto herdava tamanho e cor do texto */
.neo-hero p:not(.neo-cracha){
  font-size:clamp(16px,1.6vw,18px);
  line-height:1.75;
  color:var(--neo-muted);
  margin-top:24px;
  max-width:36em;
  text-align:justify; hyphens:auto; -webkit-hyphens:auto;
}
.neo-hero p strong, .neo-hero p b{ color:#fff; font-weight:600; }
.neo-hero-stats{
  display:flex;
  gap:14px;
  margin-top:40px;
  flex-wrap:wrap;
}
.neo-hstat{
  background:rgba(0,0,0,.45);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid var(--neo-line);
  border-radius:12px;
  padding:14px 20px;
  min-width:132px;
  box-shadow:0 0 50px -10px rgba(247,147,26,.1);
}
.neo-hstat:first-child{ border-color:rgba(247,147,26,.45); box-shadow:var(--brilho); }
.neo-hstat-n{ font:500 32px/1 var(--f-mono); font-variant-numeric:tabular-nums; color:#fff; }
.neo-hstat:first-child .neo-hstat-n{ background:var(--grad-ouro); -webkit-background-clip:text; background-clip:text; color:transparent; }
.neo-hstat-l{ font:500 10.5px/1 var(--f-mono); text-transform:uppercase; letter-spacing:0.16em; margin-top:8px; color:var(--neo-muted); }

/* ====== BOTÕES (pílula que emite luz) ====== */
.neo-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  background:var(--grad);
  color:#fff;
  border:1px solid transparent;
  border-radius:999px;
  padding:0 24px;
  font:600 13px/1.2 'Inter', system-ui, sans-serif;
  letter-spacing:0.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .3s, box-shadow .3s, background-color .3s, border-color .3s, color .3s;
  text-align:center;
  box-shadow:var(--brilho);
}
.neo-btn:hover{ transform:scale(1.04); box-shadow:var(--brilho-forte); }
.neo-btn:active{ transform:scale(.99); }
.neo-btn:disabled{ opacity:.55; cursor:not-allowed; transform:none; }
.neo-btn.wide{ width:100%; }
.neo-btn.yellow{ background:var(--grad-ouro); color:#030304; box-shadow:var(--brilho-ouro); }
.neo-btn.white{ background:transparent; color:#fff; border:2px solid var(--fio-2); box-shadow:none; }
.neo-btn.white:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.neo-btn.dark{ background:rgba(255,255,255,.04); color:#fff; border:1px solid var(--fio-2); box-shadow:none; }
.neo-btn.dark:hover{ border-color:var(--neo-accent); color:var(--neo-accent); box-shadow:none; }
.neo-btn.violet{ background:rgba(148,163,184,.14); color:#fff; border:1px solid rgba(148,163,184,.35); box-shadow:none; }
.neo-btn.violet:hover{ background:rgba(148,163,184,.22); }
.neo-btn.small{ min-height:34px; padding:0 14px; font-size:11.5px; }

/* ====== INPUTS (terminal de dados) ====== */
.neo-input, .neo-textarea, .neo-select{
  width:100%;
  background:rgba(0,0,0,.5);
  border:0;
  border-bottom:2px solid var(--fio-2);
  border-radius:8px 8px 0 0;
  color:#fff;
  font-family:inherit;
  font-weight:400;
  font-size:15.5px;
  padding:13px 16px;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.neo-input:focus, .neo-textarea:focus, .neo-select:focus{
  border-bottom-color:var(--neo-accent);
  box-shadow:0 10px 20px -10px rgba(247,147,26,.3);
}
.neo-input::placeholder, .neo-textarea::placeholder{ color:rgba(255,255,255,.3); opacity:1; font-weight:400; }
.neo-input:disabled, .neo-select:disabled{ opacity:.5; cursor:not-allowed; }
.neo-textarea{ min-height:110px; resize:vertical; }
.neo-select{ appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:42px;
  background:rgba(0,0,0,.5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7931A' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px; }
select option{ background:var(--neo-surface); color:#fff; }
input[type=file]{ color:var(--neo-muted); }
input[type=file]::file-selector-button{ font:600 12px/1 'Inter',sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:rgba(255,255,255,.06); border:1px solid var(--fio-2); border-radius:999px; padding:9px 14px; margin-right:12px; cursor:pointer; }

/* ====== OLHO DE MOSTRAR SENHA ======
   Usado em todo campo de senha do site. O botao fica DENTRO do campo, a
   direita — dai o padding extra: sem ele a senha longa passa por baixo dele.
   O JS que liga isto vive no renderFooter() do _base.php, entao qualquer
   pagina que renderize o rodape ja ganha o comportamento de graca. */
.pw-wrap{ position:relative; }
.pw-wrap .neo-input{ padding-right:48px; }
.pw-toggle{
  position:absolute; top:0; right:0; height:100%; width:46px;
  display:flex; align-items:center; justify-content:center;
  background:none; border:0; padding:0; cursor:pointer;
  color:var(--neo-muted); border-radius:0 8px 0 0;
  transition:color 0.15s;
}
/* O botao nasce com [hidden] e so aparece via JS. Sem esta regra o display:flex
   acima venceria o hidden e o botao apareceria mesmo sem JS, sem funcionar. */
.pw-toggle[hidden]{ display:none; }
.pw-toggle:hover{ color:var(--neo-accent); }
.pw-toggle:focus-visible{ outline:2px solid var(--neo-accent); outline-offset:-2px; border-radius:8px; }
.pw-toggle svg{ width:20px; height:20px; display:block; }
.pw-toggle .olho-off{ display:none; }
.pw-toggle.on .olho-on{ display:none; }
.pw-toggle.on .olho-off{ display:block; }

.neo-field{ margin-bottom:18px; }
.neo-field label{
  display:block;
  font:500 11px/1.3 var(--f-mono);
  text-transform:uppercase;
  letter-spacing:0.16em;
  color:var(--neo-muted);
  margin-bottom:9px;
}

/* ====== CARDS (bloco da cadeia) ====== */
.neo-card{
  background:var(--neo-surface);
  border:1px solid var(--neo-line);
  border-radius:var(--neo-radius);
  padding:24px;
  transition:transform .3s, border-color .3s, box-shadow .3s;
}
.neo-card.hover:hover{ transform:translateY(-4px); border-color:rgba(247,147,26,.5); box-shadow:var(--brilho-bloco); }

/* ====== TOOLBAR / FILTROS ====== */
.neo-toolbar{
  padding:22px 24px;
  border-bottom:1px solid var(--neo-line);
  background:transparent;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  max-width:1400px;
  margin:0 auto;
}
.neo-toolbar h2{ font-size:clamp(22px,3vw,30px); }
.neo-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:0 15px;
  border:1px solid var(--fio-2);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  color:var(--texto-2);
  font-weight:500;
  font-size:13px;
  letter-spacing:0.01em;
  transition:all .3s;
}
.neo-chip:hover{ border-color:rgba(247,147,26,.5); color:#fff; }
.neo-chip.on{ background:var(--grad); color:#fff; border-color:transparent; box-shadow:var(--brilho); }
.neo-chip.yellow{ background:rgba(247,147,26,.08); border-color:rgba(247,147,26,.3); }
.neo-chip.violet{ background:rgba(148,163,184,.08); }

.neo-search{
  margin-left:auto;
  display:flex;
  gap:0;
}
.neo-search input{
  background:rgba(0,0,0,.5);
  color:#fff;
  border:1px solid var(--fio-2);
  border-right:none;
  border-radius:999px 0 0 999px;
  padding:0 18px;
  height:42px;
  font-family:inherit;
  font-size:14px;
  width:230px;
  outline:none;
  transition:border-color .2s;
}
.neo-search input::placeholder{ color:rgba(255,255,255,.3); }
.neo-search input:focus{ border-color:var(--neo-accent); }
.neo-search button{
  background:var(--grad);
  color:#fff;
  border:0;
  border-radius:0 999px 999px 0;
  padding:0 18px;
  height:42px;
  font-weight:600;
  cursor:pointer;
  box-shadow:var(--brilho);
}
.neo-search button:hover{ box-shadow:var(--brilho-forte); }

/* ====== GRID DE LEILÕES ====== */
.neo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:32px 24px;
  padding:40px 24px;
  max-width:1400px;
  margin:0 auto;
}
.neo-lote{
  background:var(--neo-surface);
  border:1px solid var(--neo-line);
  border-radius:var(--neo-radius);
  transition:transform .3s, border-color .3s, box-shadow .3s;
  display:block;
  color:inherit;
  overflow:hidden;
  position:relative;
}
.neo-lote:hover{ transform:translateY(-4px); border-color:rgba(247,147,26,.5); box-shadow:var(--brilho-bloco); }
/* A foto do lote continua num palco claro: produto fotografado em fundo
   branco (a maioria) fica limpo, sem caixa branca "solta" no escuro. */
.neo-lote-img{
  width:100%;
  height:220px;
  object-fit:contain;
  background:radial-gradient(circle at 50% 40%, #FFFFFF 0%, #ECEDEF 100%);
  padding:12px;
}
.neo-lote-ph{
  width:100%;
  height:220px;
  background-color:var(--neo-bg);
  background-size:28px 28px;
  background-image:linear-gradient(to right,rgba(30,41,59,.6) 1px,transparent 1px),linear-gradient(to bottom,rgba(30,41,59,.6) 1px,transparent 1px);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:64px;
  filter:drop-shadow(0 0 12px rgba(247,147,26,.45));
}
.neo-lote-body{ padding:18px 20px 20px; }
.neo-lote-cat{
  display:inline-block;
  padding:5px 11px;
  border-radius:999px;
  font:500 10.5px/1.2 var(--f-mono);
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin-bottom:12px;
}
.neo-lote-title{
  font-family:var(--f-titulo);
  font-weight:600;
  font-size:19px;
  letter-spacing:-.01em;
  line-height:1.2;
  margin-bottom:6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.neo-lote-meta{
  font:400 12.5px/1.5 var(--f-mono);
  color:var(--neo-muted);
  margin-bottom:14px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.neo-lote-foot{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  border-top:1px solid var(--neo-line);
  padding-top:14px;
}
.neo-lote-vlbl{ font:500 10px/1.3 var(--f-mono); text-transform:uppercase; letter-spacing:0.14em; color:var(--neo-muted); }
.neo-lote-val{ font:500 22px/1.2 var(--f-mono); font-variant-numeric:tabular-nums; margin-top:4px;
  background:var(--grad-ouro); -webkit-background-clip:text; background-clip:text; color:transparent; }
.neo-lote-timer{ font:500 14px/1.3 var(--f-mono); text-align:right; color:#fff; margin-top:4px; }
.neo-lote-timer.hot{ color:var(--neo-accent); text-shadow:0 0 12px rgba(247,147,26,.6); animation:pulseHot 1.4s infinite; }
@keyframes pulseHot{ 0%,100%{opacity:1} 50%{opacity:0.55} }

/* selos sobre a foto: vidro escuro, como no /alertas */
.neo-badge-tag{
  position:absolute;
  top:12px; right:12px;
  background:rgba(0,0,0,.6);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  color:var(--neo-gold);
  border:1px solid rgba(255,214,0,.55);
  border-radius:999px;
  padding:6px 11px;
  font:500 10.5px/1 var(--f-mono);
  letter-spacing:.1em;
  text-transform:uppercase;
  box-shadow:var(--brilho-ouro);
  z-index:3;
}
.neo-badge-tag.velado{ color:#E2E8F0; border-color:rgba(148,163,184,.5); box-shadow:none; }
.neo-badge-tag.reno{ color:#86EFAC; border-color:rgba(34,197,94,.5); box-shadow:none; }

/* ====== PAGINAÇÃO ====== */
.neo-pag{
  display:flex;
  justify-content:center;
  gap:8px;
  padding:12px 24px 56px;
  flex-wrap:wrap;
}
.neo-pag a{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px;
  padding:0 14px;
  border:1px solid var(--fio-2);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  font:500 13px/1 var(--f-mono);
  color:var(--texto-2);
  transition:all .3s;
}
.neo-pag a:hover{ border-color:var(--neo-accent); color:var(--neo-accent); }
.neo-pag a.on{ background:var(--grad); color:#fff; border-color:transparent; box-shadow:var(--brilho); }

/* ====== EMPTY ====== */
.neo-empty{
  grid-column:1 / -1;
  text-align:center;
  padding:72px 20px;
  background:var(--neo-surface);
  border:1px dashed var(--fio-2);
  border-radius:var(--neo-radius);
}
.neo-empty-icon{ font-size:60px; filter:drop-shadow(0 0 14px rgba(247,147,26,.4)); }
.neo-empty h3{ margin-top:14px; }

/* ====== ALERTAS ====== */
.neo-alert{
  padding:14px 18px;
  border:1px solid var(--neo-line);
  border-left-width:3px;
  border-radius:12px;
  font-weight:400;
  font-size:15px;
  margin-bottom:16px;
  color:var(--texto-2);
}
.neo-alert strong, .neo-alert b{ color:#fff; }
.neo-alert a:not(.neo-btn){ text-decoration:underline; text-underline-offset:3px; }
.neo-alert.ok{ background:rgba(34,197,94,.08); border-color:rgba(34,197,94,.4); color:#BBF7D0; }
.neo-alert.err{ background:rgba(239,68,68,.08); border-color:rgba(239,68,68,.45); color:#FECACA; }
.neo-alert.warn{ background:rgba(255,214,0,.06); border-color:rgba(255,214,0,.4); color:#FDE68A; }
.neo-alert.info{ background:rgba(148,163,184,.08); border-color:rgba(148,163,184,.35); color:#E2E8F0; }

/* ====== CONTAINER GENÉRICO ====== */
.neo-container{
  max-width:1200px;
  margin:0 auto;
  padding:48px 24px;
}
.neo-container.narrow{ max-width:720px; }
.neo-container.tight{ max-width:460px; padding:48px 24px; }

/* ====== TABELA ====== */
.neo-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:var(--neo-surface);
  border:1px solid var(--neo-line);
  border-radius:var(--neo-radius);
  overflow:hidden;
}
.neo-table th{
  background:rgba(255,255,255,.03);
  color:var(--neo-accent);
  padding:13px 14px;
  text-align:left;
  font:500 11px/1.3 var(--f-mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  border-bottom:1px solid var(--neo-line);
}
.neo-table td{
  padding:12px 14px;
  border-top:1px solid var(--neo-line);
  font-weight:400;
  font-size:14px;
  color:var(--texto-2);
}
.neo-table tr:first-child td{ border-top:0; }
.neo-table tr:hover td{ background:rgba(247,147,26,.05); }
.neo-table-scroll{ overflow-x:auto; }

/* ====== FOOTER ====== */
.neo-footer{
  background:var(--neo-surface);
  color:var(--texto-2);
  border-top:1px solid var(--neo-line);
  margin-top:48px;
  position:relative;
  overflow:hidden;
}
.neo-footer::before{
  content:""; position:absolute; width:520px; height:520px; left:50%; top:-60%; transform:translateX(-50%);
  border-radius:50%; background:var(--brasa); opacity:.06; filter:blur(120px); pointer-events:none;
}
.neo-footer-inner{
  max-width:1200px;
  margin:0 auto;
  padding:32px 24px 24px;
  display:grid;
  grid-template-columns:1fr 1fr 2fr;
  gap:24px 32px;
  position:relative;
}
.neo-footer-col{ display:flex; flex-direction:column; gap:4px; }
/* 10/11/2026: rodape mais baixo - os links da coluna LEGAL em duas colunas */
.neo-footer-col.links2{ display:grid; grid-template-columns:1fr 1fr; column-gap:24px; row-gap:0; align-content:start; }
.neo-footer-col.links2 .neo-footer-title{ grid-column:1 / -1; }
@media (max-width:820px){
  .neo-footer-inner{ grid-template-columns:1fr 1fr; }
  .neo-footer-col.links2{ grid-column:1 / -1; }
}
@media (max-width:480px){
  .neo-footer-inner{ grid-template-columns:1fr; }
}
.neo-footer-title{
  font:500 11.5px/1 var(--f-mono);
  color:var(--neo-accent);
  text-transform:uppercase;
  letter-spacing:0.18em;
  margin-bottom:8px;
  padding-bottom:12px;
  border-bottom:1px dashed var(--neo-line);
}
.neo-footer-txt{ font-family:var(--f-titulo); font-weight:600; font-size:17px; color:#fff; }
.neo-footer-txt.small{ font:400 12.5px/1.4 var(--f-mono); color:var(--neo-muted); }
.neo-footer-link{
  color:var(--neo-muted);
  font-weight:400;
  font-size:14px;
  padding:3px 0;
  transition:color 0.15s;
}
.neo-footer-link:hover{ color:var(--neo-accent); }
.neo-footer-bar{
  background:var(--neo-bg);
  color:rgba(148,163,184,.7);
  text-align:center;
  padding:16px;
  font:400 11px/1.5 var(--f-mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  border-top:1px solid var(--neo-line);
  position:relative;
}

/* ====== UTIL ====== */
.tilt-l, .tilt-r{ transform:none; display:inline-block; }
.mt-16{ margin-top:16px; } .mt-24{ margin-top:24px; } .mt-32{ margin-top:32px; }
.mb-16{ margin-bottom:16px; } .mb-24{ margin-bottom:24px; }
.text-center{ text-align:center; }
.row{ display:flex; gap:12px; flex-wrap:wrap; }
.row.between{ justify-content:space-between; align-items:center; }
.col{ display:flex; flex-direction:column; gap:12px; }

@media (max-width:640px){
  .neo-grid{ grid-template-columns:repeat(auto-fill, minmax(155px, 1fr)); gap:16px; padding:24px 16px; }
  .neo-lote-img, .neo-lote-ph{ height:150px; }
  .neo-lote-body{ padding:14px; }
  .neo-lote-title{ font-size:16px; }
  .neo-lote-val{ font-size:17px; }
  .neo-lote-foot{ flex-wrap:wrap; }
  .neo-toolbar{ padding:16px; }
  .neo-search{ width:100%; margin-left:0; }
  .neo-search input{ flex:1; width:auto; }
  .neo-container{ padding:32px 16px; }
  .neo-hero{ padding:56px 16px 44px; }
  .neo-hstat{ min-width:0; flex:1; padding:12px 12px; }
  .neo-hstat-n{ font-size:24px; }
  .neo-hstat-l{ font-size:9.5px; letter-spacing:.08em; }   /* "ARREMATANTES" cabe no cartao */
  .neo-cracha{ font-size:10px; letter-spacing:.08em; padding:8px 12px 8px 10px; }
}

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  html{ scroll-behavior:auto; }
}

/* ====== ADMIN (painel do leiloeiro) ====== */
.adm-tabs{ display:flex; flex-wrap:wrap; gap:10px; border-bottom:1px solid var(--neo-line); padding-bottom:16px; }
.neo-chip.cta{ background:var(--grad); border-color:transparent; color:#fff; box-shadow:var(--brilho); }
.neo-chip.cta:hover{ box-shadow:var(--brilho-forte); color:#fff; }

.adm-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.adm-stat{ background:var(--neo-surface); border:1px solid var(--neo-line); border-radius:var(--neo-radius); padding:20px 22px; }
.adm-stat .num{ font:500 38px/1.05 var(--f-mono); font-variant-numeric:tabular-nums; color:#fff; margin-top:8px; }
.adm-stat .sub{ margin-top:6px; font-size:13px; font-weight:500; color:var(--neo-muted); }
.adm-stat.navy{ background:rgba(247,147,26,.06); border-color:rgba(247,147,26,.45); box-shadow:var(--brilho); }
.adm-stat.navy .neo-label{ color:var(--neo-accent); }
.adm-stat.navy .num{ background:var(--grad-ouro); -webkit-background-clip:text; background-clip:text; color:transparent; }
.adm-stat.navy .sub{ color:var(--texto-2); }

/* Selos de status (pill) */
.neo-pill{ display:inline-block; padding:4px 10px; border-radius:999px; font:500 10.5px/1.2 var(--f-mono); letter-spacing:.08em; text-transform:uppercase; border:1px solid transparent; white-space:nowrap; }
.neo-pill.ok{ background:rgba(34,197,94,.1); border-color:rgba(34,197,94,.4); color:#86EFAC; }
.neo-pill.warn{ background:rgba(255,214,0,.08); border-color:rgba(255,214,0,.4); color:#FDE68A; }
.neo-pill.off{ background:rgba(148,163,184,.08); border-color:rgba(148,163,184,.3); color:var(--neo-muted); }
.neo-pill.navy{ background:rgba(255,255,255,.06); border-color:var(--fio-2); color:#fff; }
.neo-pill.gold{ background:rgba(247,147,26,.1); border-color:rgba(247,147,26,.45); color:var(--neo-accent); }
.neo-pill.danger{ background:rgba(239,68,68,.1); border-color:rgba(239,68,68,.45); color:#FCA5A5; }

/* Interruptores (checkbox em cartão) */
.neo-toggle{ display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 16px; border:1px solid var(--fio-2); border-radius:999px; background:rgba(255,255,255,.03); color:var(--texto-2); font-weight:500; font-size:13.5px; cursor:pointer; transition:all .3s; user-select:none; }
.neo-toggle:hover{ border-color:rgba(247,147,26,.5); color:#fff; }
.neo-toggle input[type=checkbox]{ accent-color:var(--neo-accent); width:16px; height:16px; }
.neo-toggle.on{ background:rgba(247,147,26,.12); border-color:rgba(247,147,26,.55); color:#fff; }

/* Botão de ação perigosa */
.neo-btn.danger{ background:#DC2626; color:#fff; box-shadow:0 0 20px -6px rgba(220,38,38,.6); }
.neo-btn.danger:hover{ background:#B91C1C; }

/* Tooltip instantâneo nos botões de ação (data-tip) */
[data-tip]{ position:relative; }
[data-tip]::after{
  content:attr(data-tip);
  position:absolute; bottom:calc(100% + 8px); left:50%;
  transform:translateX(-50%) translateY(2px);
  background:rgba(0,0,0,.85); color:#fff;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border:1px solid var(--fio-2);
  font:500 11px/1.3 var(--f-mono); letter-spacing:.04em; text-transform:none;
  padding:6px 10px; border-radius:8px; white-space:nowrap;
  opacity:0; pointer-events:none;
  transition:opacity .12s ease, transform .12s ease;
  z-index:60;
}
[data-tip]:hover::after{ opacity:1; transform:translateX(-50%) translateY(0); }

/* Miniaturas de imagem em formulários do admin */
.adm-thumb{ border:1px solid var(--neo-line); border-radius:10px; background:#fff; }

/* Aviso de agendamento no formulário do lote */
.adm-aviso{ margin-top:8px; padding:10px 12px; border:1px solid rgba(255,214,0,.4); background:rgba(255,214,0,.06); border-radius:8px; color:#FDE68A; font-weight:500; font-size:12.5px; }

/* ====== COMPONENTES REFINADOS ====== */
/* Linha de lista (histórico de lances, participações...) — divisor fino */
.neo-list-row{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--neo-line); }
.neo-list-row:last-child{ border-bottom:none; }

/* Checkbox de consentimento (termos, edital, newsletter) */
.neo-check{ display:flex; align-items:flex-start; gap:12px; margin-top:16px; padding:14px 16px; border:1px solid var(--fio-2); border-radius:12px; background:rgba(255,255,255,.03); color:var(--texto-2); font-weight:400; font-size:14px; line-height:1.55; cursor:pointer; transition:border-color .2s ease; }
.neo-check:hover{ border-color:rgba(247,147,26,.5); }
.neo-check input[type=checkbox]{ accent-color:var(--neo-accent); width:17px; height:17px; margin-top:2px; flex:none; }
.neo-check a{ color:var(--neo-accent); text-decoration:underline; text-underline-offset:3px; }

/* Destaque numérico (valor a pagar, taxa de êxito) */
.neo-big{ font-family:var(--f-mono); font-weight:500; line-height:1.05; font-variant-numeric:tabular-nums;
  background:var(--grad-ouro); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ====== CARDS DE LOTE — polimento ====== */
.neo-lote-img{ transition:transform .5s ease; }
.neo-lote:hover .neo-lote-img{ transform:scale(1.06); }
.neo-lote:hover .neo-lote-title{ color:var(--neo-accent); }
.neo-lote-title{ transition:color .2s ease; }

/* Selo "LOTE N" no canto do card e na página do lote */
.neo-lote-num{
  position:absolute; top:12px; left:12px; z-index:3;
  background:rgba(0,0,0,.6);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  color:#fff; border:1px solid var(--fio-2);
  font:500 10.5px/1 var(--f-mono); letter-spacing:.12em;
  padding:6px 11px; border-radius:999px;
}
.neo-lote-num.inline{ position:static; display:inline-block; margin-right:8px; vertical-align:middle; }

/* ====== CABEÇALHO DO EVENTO (foto + texto) ====== */
/* No celular a grade empilha — lado a lado ela estourava a largura da tela */
.evt-grid{ display:grid; grid-template-columns:1fr; gap:24px; align-items:center; min-width:0; }
.evt-grid.com-foto{ grid-template-columns:minmax(160px,240px) 1fr; }
.evt-grid > div{ min-width:0; overflow-wrap:break-word; }
@media (max-width:640px){
  .evt-grid.com-foto{ grid-template-columns:1fr; }
}

/* ====== BANNER DE COOKIES (LGPD) ====== */
[x-cloak]{ display:none !important; }
.ck-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:1000;
  max-width:680px; margin:0 auto;
  background:rgba(15,17,21,.92);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border:1px solid var(--fio-2);
  border-radius:16px;
  box-shadow:0 0 50px -10px rgba(247,147,26,.25);
  padding:20px 22px;
}
.ck-banner p{ font-size:13.5px; line-height:1.6; color:var(--texto-2); text-align:justify; hyphens:auto; -webkit-hyphens:auto; }
.ck-titulo{ font-family:var(--f-titulo); font-weight:600; font-size:17px; margin-bottom:6px; color:#fff; }
.ck-acoes{ display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; align-items:center; }
.ck-btn{
  border:none; cursor:pointer; font-family:inherit;
  font-weight:600; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase;
  min-height:40px; padding:0 18px; border-radius:999px;
  transition:box-shadow .2s ease, transform .1s ease, border-color .2s;
}
.ck-btn:active{ transform:translateY(1px); }
.ck-btn.ok{ background:var(--grad); color:#fff; box-shadow:var(--brilho); }
.ck-btn.ok:hover{ box-shadow:var(--brilho-forte); }
.ck-btn.no{ background:transparent; color:#fff; border:1px solid var(--fio-2); }
.ck-btn.no:hover{ border-color:#fff; }
.ck-link{ background:none; border:none; cursor:pointer; font-family:inherit; font-size:13px; font-weight:500; color:var(--neo-muted); text-decoration:underline; text-underline-offset:3px; padding:6px 4px; }
.ck-link:hover{ color:var(--neo-accent); }
.ck-prefs{ margin-top:12px; display:flex; flex-direction:column; gap:8px; }
.ck-prefs label{ display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:500; color:var(--texto-2); padding:10px 12px; border:1px solid var(--neo-line); border-radius:10px; background:rgba(255,255,255,.03); cursor:pointer; }
.ck-prefs input[type=checkbox]{ accent-color:var(--neo-accent); width:16px; height:16px; flex:none; }
.ck-prefs label.trava{ opacity:.7; cursor:default; }

/* ====== PÁGINA VENDER ====== */
.vd-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.vd-card{ background:var(--neo-surface); border:1px solid var(--neo-line); border-radius:var(--neo-radius); padding:24px; transition:transform .3s, border-color .3s, box-shadow .3s; }
.vd-card:hover{ transform:translateY(-4px); border-color:rgba(247,147,26,.5); box-shadow:var(--brilho-bloco); }
.vd-card .vd-ico{ font-size:30px; margin-bottom:12px; filter:drop-shadow(0 0 10px rgba(247,147,26,.4)); }
.vd-card h4{ margin-bottom:6px; }
.vd-card p{ font-size:14px; color:var(--neo-muted); line-height:1.6; text-align:justify; hyphens:auto; -webkit-hyphens:auto; }
.vd-passos{ counter-reset:passo; display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:18px; }
.vd-passo{ position:relative; background:var(--neo-surface); border:1px solid var(--neo-line); border-radius:var(--neo-radius); padding:24px 20px 22px; }
.vd-passo::before{
  counter-increment:passo; content:counter(passo, decimal-leading-zero);
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%; margin-bottom:14px;
  background:var(--neo-bg); color:var(--neo-accent); border:1px solid var(--neo-accent);
  font:500 13px/1 var(--f-mono); box-shadow:var(--brilho);
}
.vd-passo h4{ margin-bottom:6px; font-size:16.5px; }
.vd-passo p{ font-size:13.5px; color:var(--neo-muted); line-height:1.6; }

/* ====== IMPRESSÃO ======
   Papel é branco: tinta clara no escuro sumiria no papel. Cabeçalho, rodapé
   e aviso de cookies não vão para a folha. (A carta de arrematação e as
   etiquetas têm regras de impressão próprias, que continuam valendo.) */
@media print{
  :root{ --neo-bg:#fff; --neo-surface:#fff; --neo-white:#fff; --neo-ink:#111; --neo-muted:#555; --neo-line:#ccc; --texto-2:#222; --fio-2:#bbb; }
  html, body{ background:#fff !important; color:#111 !important; }
  body::after, .neo-header, .neo-footer, .ck-banner, .neo-burger{ display:none !important; }
  .neo-hero{ background:#fff !important; color:#111 !important; }
  .neo-hero::before{ display:none; }
  .grad-texto, .neo-lote-val, .neo-big, .neo-hero h1 .hi-red, .adm-stat.navy .num, .neo-hstat-n{ background:none !important; color:#111 !important; -webkit-text-fill-color:#111; }
  .neo-btn{ box-shadow:none !important; }
}
