/* =====================================================
   MAYCO SANTOS — Leilões
   Estilo institucional: azul-marinho, dourado e creme.
   Bordas finas, sombras suaves, títulos em serifada.
   (nomes de classe "neo-*" mantidos por compatibilidade)
   ===================================================== */

:root{
  --neo-bg:      #F1EADB;   /* creme / pergaminho (fundo) */
  --neo-surface: #FBF7EF;   /* superfície de cartão */
  --neo-white:   #FFFFFF;
  --neo-ink:     #17293D;   /* azul-marinho (texto e traços) */
  --neo-navy:    #0F2743;   /* marinho profundo (herói, rodapé) */
  --neo-navy-2:  #0A1B30;
  --neo-accent:  #A9813F;   /* dourado (marca: preços, botões) */
  --neo-gold:    #C9A24B;   /* dourado claro */
  --neo-yellow:  #ECDCB0;   /* painel dourado suave */
  --neo-violet:  #DCE4EC;   /* painel ardósia suave */
  --neo-green:   #BEE0CB;   /* verde suave */
  --neo-blue:    #C6D9EC;   /* azul suave */
  --neo-danger:  #A23B3B;   /* vermelho (erro) */
  --neo-muted:   #5D6775;   /* texto secundário */
  --neo-line:    rgba(15,39,67,.14);
  --neo-shadow:  0 1px 2px rgba(15,39,67,.05), 0 10px 30px rgba(15,39,67,.07);
  --neo-radius:  12px;
  --font-serif:  "Fraunces","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
}

*, *::before, *::after{ box-sizing:border-box; margin:0; padding:0; }

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.6;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font-family:inherit; cursor:pointer; }

::selection{ background:var(--neo-gold); color:var(--neo-navy); }

/* ====== TIPOGRAFIA ====== */
h1,h2,h3,h4{ font-family:var(--font-serif); font-weight:600; letter-spacing:-0.01em; line-height:1.12; text-wrap:balance; color:var(--neo-ink); }
h1{ font-size:clamp(32px, 6vw, 60px); }
h2{ font-size:clamp(26px, 4vw, 40px); }
h3{ font-size:clamp(19px, 2.4vw, 26px); }
h4{ font-size:18px; }

.neo-label{ font-weight:600; font-size:11.5px; text-transform:uppercase; letter-spacing:0.16em; color:var(--neo-muted); }

/* ====== HEADER ====== */
.neo-header{
  background:rgba(251,247,239,.9);
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid var(--neo-line);
  padding:12px 24px;
  display:flex;
  align-items:center;
  gap:20px;
  position:sticky;
  top:0;
  z-index:100;
}
.neo-logo{ display:inline-flex; align-items:center; }
.neo-logo-box{
  display:inline-block;
  background:var(--neo-navy);
  color:#F3EAD6;
  font-family:var(--font-serif);
  font-weight:600;
  font-size:19px;
  letter-spacing:.01em;
  padding:8px 16px;
  border-radius:8px;
  transition:background 0.15s;
}
.neo-logo-box:hover{ background:var(--neo-navy-2); }

.neo-nav{
  display:flex;
  gap:4px;
  margin-left:auto;
  align-items:center;
}
.neo-nav a{
  font-weight:500;
  font-size:13.5px;
  padding:9px 14px;
  border-radius:8px;
  letter-spacing:0.02em;
  color:var(--neo-ink);
  transition:background 0.15s, color 0.15s;
}
.neo-nav a:hover{ background:rgba(169,129,63,.12); color:var(--neo-accent); }
.neo-nav-cta{
  background:var(--neo-accent);
  color:#fff !important;
}
.neo-nav-cta:hover{ background:#96702f; color:#fff !important; }
.neo-nav-admin{
  background:var(--neo-navy);
  color:var(--neo-gold) !important;
}
.neo-nav-admin:hover{ background:var(--neo-navy-2); color:#fff !important; }
.neo-nav-out{ color:var(--neo-muted) !important; }

.neo-burger{
  display:none;
  background:var(--neo-surface);
  border:1px solid var(--neo-line);
  border-radius:8px;
  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:20px; height:2px; background:var(--neo-ink); border-radius:2px; }

@media (max-width:820px){
  .neo-header{ padding:12px 16px; gap:8px; }
  .neo-burger{ display:flex; }
  .neo-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0; right:0;
    background:var(--neo-surface);
    border-bottom:1px solid var(--neo-line);
    box-shadow:var(--neo-shadow);
    flex-direction:column;
    gap:4px;
    padding:12px;
    margin:0;
  }
  .neo-nav.open{ display:flex; }
  .neo-nav a{ width:100%; text-align:center; padding:13px; }
}

/* ====== HERO ====== */
.neo-hero{
  padding:66px 24px 56px;
  background:
    radial-gradient(120% 90% at 82% -10%, rgba(201,162,75,.16), transparent 60%),
    linear-gradient(180deg, var(--neo-navy) 0%, var(--neo-navy-2) 100%);
  color:#EFE3CD;
  border-bottom:3px solid var(--neo-gold);
  position:relative;
  overflow:hidden;
}
.neo-hero-inner{ max-width:1200px; margin:0 auto; position:relative; z-index:2; }
.neo-hero h1{
  font-size:clamp(38px, 7vw, 76px);
  color:#F3EAD6;
  line-height:1.05;
}
.neo-hero h1 .hi-red{ color:var(--neo-gold); display:inline-block; }
.neo-hero h1 .hi-white{ color:#F3EAD6; display:inline-block; }
.neo-hero p{
  font-size:18px;
  font-weight:400;
  color:#D6C8AD;
  margin-top:20px;
  max-width:640px;
}
.neo-hero-stats{
  display:flex;
  gap:14px;
  margin-top:34px;
  flex-wrap:wrap;
}
.neo-hstat{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(201,162,75,.35);
  border-radius:10px;
  padding:14px 22px;
  min-width:124px;
}
.neo-hstat-n{ font-family:var(--font-serif); font-size:34px; font-weight:600; line-height:1; color:var(--neo-gold); }
.neo-hstat-l{ font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:0.16em; margin-top:6px; color:#CDBFA4; }

/* ====== BOTÕES ====== */
.neo-btn{
  display:inline-block;
  background:var(--neo-accent);
  color:#fff;
  border:1px solid transparent;
  border-radius:9px;
  padding:12px 24px;
  font-weight:600;
  font-size:14.5px;
  letter-spacing:0.01em;
  cursor:pointer;
  transition:transform 0.12s ease, background 0.15s, box-shadow .15s;
  text-align:center;
  box-shadow:0 1px 2px rgba(15,39,67,.08);
}
.neo-btn:hover{ background:#96702f; transform:translateY(-1px); box-shadow:0 4px 14px rgba(15,39,67,.14); }
.neo-btn:active{ transform:translateY(0); }
.neo-btn.wide{ width:100%; }
.neo-btn.yellow{ background:var(--neo-gold); color:var(--neo-navy); }
.neo-btn.yellow:hover{ background:#b98f3e; }
.neo-btn.white{ background:var(--neo-white); color:var(--neo-ink); border-color:var(--neo-line); }
.neo-btn.white:hover{ background:#fff; border-color:var(--neo-accent); }
.neo-btn.dark{ background:var(--neo-navy); color:#F3EAD6; }
.neo-btn.dark:hover{ background:var(--neo-navy-2); }
.neo-btn.violet{ background:#5b6b7e; color:#fff; }
.neo-btn.violet:hover{ background:#4a5867; }
.neo-btn.small{ padding:7px 14px; font-size:12.5px; border-radius:7px; }

/* ====== INPUTS ====== */
.neo-input, .neo-textarea, .neo-select{
  width:100%;
  background:var(--neo-white);
  border:1px solid var(--neo-line);
  border-radius:9px;
  color:var(--neo-ink);
  font-family:inherit;
  font-weight:400;
  font-size:15.5px;
  padding:12px 14px;
  outline:none;
  transition:border-color 0.15s, box-shadow 0.15s;
}
.neo-input:focus, .neo-textarea:focus, .neo-select:focus{
  border-color:var(--neo-accent);
  box-shadow:0 0 0 3px rgba(169,129,63,.16);
}
.neo-input::placeholder{ color:var(--neo-muted); opacity:.7; font-weight:400; }
.neo-textarea{ min-height:110px; resize:vertical; }
.neo-select{ appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--neo-ink) 50%),linear-gradient(135deg,var(--neo-ink) 50%,transparent 50%); background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:40px; }

.neo-field{ margin-bottom:16px; }
.neo-field label{
  display:block;
  font-weight:600;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--neo-muted);
  margin-bottom:6px;
}

/* ====== CARDS ====== */
.neo-card{
  background:var(--neo-surface);
  border:1px solid var(--neo-line);
  border-radius:var(--neo-radius);
  box-shadow:var(--neo-shadow);
  padding:22px;
  transition:transform 0.15s, box-shadow 0.15s;
}
.neo-card.hover:hover{ transform:translateY(-2px); box-shadow:0 12px 34px rgba(15,39,67,.12); }

/* ====== TOOLBAR / FILTROS ====== */
.neo-toolbar{
  padding:18px 24px;
  border-bottom:1px solid var(--neo-line);
  background:var(--neo-bg);
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  max-width:1400px;
  margin:0 auto;
}
.neo-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 15px;
  border:1px solid var(--neo-line);
  border-radius:999px;
  background:var(--neo-surface);
  color:var(--neo-ink);
  font-weight:500;
  font-size:12.5px;
  letter-spacing:0.02em;
  transition:background 0.15s, border-color 0.15s, color .15s;
}
.neo-chip:hover{ border-color:var(--neo-accent); color:var(--neo-accent); }
.neo-chip.on{ background:var(--neo-navy); color:#F3EAD6; border-color:var(--neo-navy); }
.neo-chip.yellow{ background:rgba(201,162,75,.16); border-color:rgba(169,129,63,.35); }
.neo-chip.violet{ background:rgba(91,107,126,.12); }

.neo-search{
  margin-left:auto;
  display:flex;
  gap:0;
}
.neo-search input{
  background:var(--neo-white);
  border:1px solid var(--neo-line);
  border-right:none;
  border-radius:9px 0 0 9px;
  padding:9px 14px;
  font-family:inherit;
  font-size:14px;
  width:210px;
  outline:none;
}
.neo-search input:focus{ border-color:var(--neo-accent); }
.neo-search button{
  background:var(--neo-navy);
  color:#F3EAD6;
  border:1px solid var(--neo-navy);
  border-radius:0 9px 9px 0;
  padding:0 18px;
  font-weight:600;
  cursor:pointer;
}
.neo-search button:hover{ background:var(--neo-navy-2); }

/* ====== GRID DE LEILÕES ====== */
.neo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(270px, 1fr));
  gap: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);
  box-shadow:var(--neo-shadow);
  transition:transform 0.15s, box-shadow 0.15s;
  display:block;
  color:inherit;
  overflow:hidden;
  position:relative;
}
.neo-lote:hover{ transform:translateY(-3px); box-shadow:0 16px 40px rgba(15,39,67,.14); }
.neo-lote-img{
  width:100%;
  height:220px;
  object-fit:contain;
  background:#fff;
  border-bottom:1px solid var(--neo-line);
  padding:12px;
}
.neo-lote-ph{
  width:100%;
  height:220px;
  background:linear-gradient(160deg, #e9eef4, #dce4ec);
  border-bottom:1px solid var(--neo-line);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:64px;
  opacity:.85;
}
.neo-lote-body{ padding:18px; }
.neo-lote-cat{
  display:inline-block;
  padding:3px 10px;
  border-radius:999px;
  font-size:10.5px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.06em;
  margin-bottom:10px;
}
.neo-lote-title{
  font-family:var(--font-serif);
  font-weight:600;
  font-size:19px;
  line-height:1.15;
  margin-bottom:6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.neo-lote-meta{
  font-size:12.5px;
  font-weight:400;
  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;
  border-top:1px solid var(--neo-line);
  padding-top:12px;
}
.neo-lote-vlbl{ font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:0.1em; color:var(--neo-muted); }
.neo-lote-val{ font-family:var(--font-serif); font-size:24px; font-weight:600; color:var(--neo-accent); line-height:1.1; }
.neo-lote-timer{ font-size:14px; font-weight:600; text-align:right; color:var(--neo-ink); }
.neo-lote-timer.hot{ color:var(--neo-danger); animation:pulseHot 1.4s infinite; }
@keyframes pulseHot{ 0%,100%{opacity:1} 50%{opacity:0.55} }

.neo-badge-tag{
  position:absolute;
  top:12px; right:12px;
  background:var(--neo-gold);
  color:var(--neo-navy);
  border-radius:999px;
  padding:4px 11px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
  box-shadow:0 2px 6px rgba(15,39,67,.18);
  z-index:3;
}
.neo-badge-tag.velado{ background:#5b6b7e; color:#fff; }
.neo-badge-tag.reno{ background:var(--neo-green); color:#1e4a34; }

/* ====== PAGINAÇÃO ====== */
.neo-pag{
  display:flex;
  justify-content:center;
  gap:8px;
  padding:12px 24px 56px;
  flex-wrap:wrap;
}
.neo-pag a{
  display:inline-block;
  padding:9px 15px;
  border:1px solid var(--neo-line);
  border-radius:8px;
  background:var(--neo-surface);
  font-weight:500;
  transition:border-color 0.15s, color .15s;
}
.neo-pag a:hover{ border-color:var(--neo-accent); color:var(--neo-accent); }
.neo-pag a.on{ background:var(--neo-navy); color:#F3EAD6; border-color:var(--neo-navy); }

/* ====== EMPTY ====== */
.neo-empty{
  grid-column:1 / -1;
  text-align:center;
  padding:72px 20px;
  background:var(--neo-surface);
  border:1px dashed var(--neo-line);
  border-radius:var(--neo-radius);
}
.neo-empty-icon{ font-size:64px; opacity:.5; }
.neo-empty h3{ margin-top:12px; }

/* ====== ALERTAS ====== */
.neo-alert{
  padding:14px 18px;
  border:1px solid var(--neo-line);
  border-radius:10px;
  font-weight:400;
  margin-bottom:16px;
}
.neo-alert.ok{ background:#E7F1EA; border-color:rgba(46,125,87,.3); color:#1e4a34; }
.neo-alert.err{ background:#F5E3E3; border-color:rgba(162,59,59,.3); color:#7d2a2a; }
.neo-alert.warn{ background:#F6EDD6; border-color:rgba(169,129,63,.35); color:#6b4f1c; }
.neo-alert.info{ background:#E6EDF4; border-color:rgba(15,39,67,.18); color:#274058; }

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

/* ====== TABELA ====== */
.neo-table{
  width:100%;
  border-collapse:collapse;
  background:var(--neo-surface);
  border:1px solid var(--neo-line);
  border-radius:var(--neo-radius);
  overflow:hidden;
  box-shadow:var(--neo-shadow);
}
.neo-table th{
  background:var(--neo-navy);
  color:var(--neo-gold);
  padding:12px 14px;
  text-align:left;
  font-weight:600;
  text-transform:uppercase;
  font-size:11.5px;
  letter-spacing:0.08em;
}
.neo-table td{
  padding:12px 14px;
  border-top:1px solid var(--neo-line);
  font-weight:400;
  font-size:14px;
}
.neo-table tr:hover td{ background:rgba(201,162,75,.08); }
.neo-table-scroll{ overflow-x:auto; }

/* ====== FOOTER ====== */
.neo-footer{
  background:var(--neo-navy);
  color:#E9DFCB;
  margin-top:80px;
}
.neo-footer-inner{
  max-width:1200px;
  margin:0 auto;
  padding:48px 24px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:32px;
}
.neo-footer-col{ display:flex; flex-direction:column; gap:8px; }
.neo-footer-title{
  font-weight:600;
  color:var(--neo-gold);
  text-transform:uppercase;
  letter-spacing:0.16em;
  font-size:11.5px;
  margin-bottom:8px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(201,162,75,.3);
}
.neo-footer-txt{ font-weight:400; font-size:15px; }
.neo-footer-txt.small{ font-size:12.5px; opacity:0.65; }
.neo-footer-link{
  color:#D9CEB9;
  font-weight:400;
  font-size:14px;
  padding:3px 0;
  transition:color 0.15s;
}
.neo-footer-link:hover{ color:var(--neo-gold); }
.neo-footer-bar{
  background:var(--neo-navy-2);
  color:#B9AC90;
  text-align:center;
  padding:14px;
  font-weight:500;
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:0.16em;
  border-top:1px solid rgba(201,162,75,.18);
}

/* ====== 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-title{ font-size:16px; }
  .neo-lote-val{ font-size:20px; }
  .neo-toolbar{ padding:14px 16px; }
  .neo-search{ width:100%; margin-left:0; }
  .neo-search input{ flex:1; width:auto; }
  .neo-container{ padding:28px 16px; }
  .neo-hero{ padding:48px 16px 40px; }
}

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

/* ====== 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(--neo-accent); border-color:var(--neo-accent); color:#fff; }
.neo-chip.cta:hover{ background:#96702f; 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); box-shadow:var(--neo-shadow); padding:20px 22px; }
.adm-stat .num{ font-family:var(--font-serif); font-size:44px; font-weight:600; line-height:1.05; color:var(--neo-navy); margin-top:6px; }
.adm-stat .sub{ margin-top:6px; font-size:13px; font-weight:600; color:var(--neo-muted); }
.adm-stat.navy{ background:var(--neo-navy); border-color:var(--neo-navy); }
.adm-stat.navy .neo-label{ color:var(--neo-gold); }
.adm-stat.navy .num{ color:#F3EAD6; }
.adm-stat.navy .sub{ color:rgba(243,234,214,.78); }

/* Selos de status (pill) */
.neo-pill{ display:inline-block; padding:3px 10px; border-radius:999px; font-size:11px; font-weight:700; letter-spacing:.05em; border:1px solid transparent; white-space:nowrap; }
.neo-pill.ok{ background:#E7F1EA; border-color:rgba(46,125,87,.32); color:#1e4a34; }
.neo-pill.warn{ background:#F6EDD6; border-color:rgba(169,129,63,.4); color:#6b4f1c; }
.neo-pill.off{ background:#ECEDEF; border-color:rgba(15,39,67,.16); color:#5D6775; }
.neo-pill.navy{ background:var(--neo-navy); border-color:var(--neo-navy); color:#F3EAD6; }
.neo-pill.gold{ background:rgba(201,162,75,.16); border-color:rgba(169,129,63,.45); color:#6b4f1c; }
.neo-pill.danger{ background:#F5E3E3; border-color:rgba(162,59,59,.32); color:#7d2a2a; }

/* Interruptores (checkbox em cartão) */
.neo-toggle{ display:inline-flex; align-items:center; gap:9px; padding:10px 14px; border:1px solid var(--neo-line); border-radius:10px; background:var(--neo-white); font-weight:600; font-size:13.5px; cursor:pointer; transition:border-color .15s ease, background .15s ease; user-select:none; }
.neo-toggle:hover{ border-color:var(--neo-accent); }
.neo-toggle input[type=checkbox]{ accent-color:var(--neo-accent); width:16px; height:16px; }
.neo-toggle.on{ background:rgba(201,162,75,.14); border-color:rgba(169,129,63,.5); }

/* Botão de ação perigosa */
.neo-btn.danger{ background:var(--neo-danger); color:#fff; }
.neo-btn.danger:hover{ background:#8a3131; }

/* 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% + 7px); left:50%;
  transform:translateX(-50%) translateY(2px);
  background:var(--neo-navy); color:#F3EAD6;
  font-size:11.5px; font-weight:600; letter-spacing:.02em;
  padding:5px 10px; border-radius:7px; white-space:nowrap;
  box-shadow:0 4px 14px rgba(15,39,67,.25);
  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; box-shadow:var(--neo-shadow); }

/* Aviso de agendamento no formulário do lote */
.adm-aviso{ margin-top:8px; padding:9px 12px; border:1px solid rgba(169,129,63,.4); background:#F6EDD6; border-radius:8px; color:#6b4f1c; font-weight:600; font-size:12.5px; }

/* ====== COMPONENTES REFINADOS (substituem restos do estilo antigo) ====== */
/* 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:9px 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:10px; margin-top:16px; padding:13px 15px; border:1px solid var(--neo-line); border-radius:10px; background:var(--neo-white); font-weight:500; font-size:14px; line-height:1.5; cursor:pointer; transition:border-color .15s ease; }
.neo-check:hover{ border-color:var(--neo-accent); }
.neo-check input[type=checkbox]{ accent-color:var(--neo-accent); width:17px; height:17px; margin-top:2px; flex:none; }
.neo-check a{ text-decoration:underline; text-underline-offset:2px; }

/* Destaque numérico (valor a pagar, taxa de êxito) */
.neo-big{ font-family:var(--font-serif); font-weight:600; line-height:1.05; color:var(--neo-navy); }

/* ====== CARDS DE LOTE — polimento ====== */
.neo-lote-img{ transition:transform .35s ease; }
.neo-lote:hover .neo-lote-img{ transform:scale(1.045); }
.neo-lote:hover .neo-lote-title{ color:var(--neo-accent); }
.neo-lote-title{ transition:color .15s 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:var(--neo-navy); color:#F3EAD6;
  font-size:11px; font-weight:700; letter-spacing:.08em;
  padding:4px 11px; border-radius:999px;
  box-shadow:0 3px 10px rgba(15,39,67,.25);
}
.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:var(--neo-surface);
  border:1px solid var(--neo-line);
  border-radius:14px;
  box-shadow:0 18px 50px rgba(15,39,67,.25);
  padding:20px 22px;
}
.ck-banner p{ font-size:13.5px; line-height:1.55; color:var(--neo-ink); text-align:justify; }
.ck-titulo{ font-family:var(--font-serif); font-weight:600; font-size:17px; margin-bottom:6px; }
.ck-acoes{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; align-items:center; }
.ck-btn{
  border:none; cursor:pointer; font-family:inherit;
  font-weight:600; font-size:13.5px; padding:9px 18px; border-radius:9px;
  transition:background .15s ease, transform .1s ease;
}
.ck-btn:active{ transform:translateY(1px); }
.ck-btn.ok{ background:var(--neo-accent); color:#fff; }
.ck-btn.ok:hover{ background:#96702f; }
.ck-btn.no{ background:var(--neo-white); color:var(--neo-ink); border:1px solid var(--neo-line); }
.ck-btn.no:hover{ border-color:var(--neo-accent); }
.ck-link{ background:none; border:none; cursor:pointer; font-family:inherit; font-size:13px; font-weight:600; color:var(--neo-muted); text-decoration:underline; text-underline-offset:2px; 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:9px; font-size:13.5px; font-weight:500; padding:9px 12px; border:1px solid var(--neo-line); border-radius:9px; background:var(--neo-white); 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); box-shadow:var(--neo-shadow); padding:22px; }
.vd-card .vd-ico{ font-size:30px; margin-bottom:10px; }
.vd-card h4{ margin-bottom:6px; }
.vd-card p{ font-size:13.5px; color:var(--neo-muted); line-height:1.55; }
.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-white); border:1px solid var(--neo-line); border-radius:var(--neo-radius); padding:22px 20px 20px; }
.vd-passo::before{
  counter-increment:passo; content:counter(passo);
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:999px; margin-bottom:10px;
  background:var(--neo-navy); color:var(--neo-gold);
  font-family:var(--font-serif); font-weight:600; font-size:17px;
}
.vd-passo h4{ margin-bottom:6px; font-size:16.5px; }
.vd-passo p{ font-size:13px; color:var(--neo-muted); line-height:1.55; }
