.nav-pub { position:sticky; top:0; z-index:100; background:var(--azul); padding:1rem 5%; display:flex; align-items:center; justify-content:space-between; }
.nav-pub .logo { font-weight:800; font-size:1.2rem; color:#fff; }
.nav-pub .logo span { color:var(--laranja); }
.nav-pub .direita { display:flex; align-items:center; gap:1rem; }
.nav-pub .cidade  { font-size:0.82rem; color:rgba(255,255,255,0.55); }
.nav-pub .btn-login { background:var(--laranja); color:#fff; padding:0.45rem 1rem; border-radius:7px; font-weight:600; font-size:0.82rem; transition:background 0.2s; }
.nav-pub .btn-login:hover { background:#e05e00; }

.pub-topo { background:var(--azul); padding:2.5rem 5% 2rem; color:#fff; }
.pub-topo h1 { font-size:1.9rem; font-weight:800; margin-bottom:0.4rem; }
.pub-topo p  { color:rgba(255,255,255,0.6); font-size:0.95rem; }
.legenda { display:flex; gap:1.5rem; margin-top:1rem; flex-wrap:wrap; }
.leg     { font-size:0.82rem; font-weight:600; }
.leg-d   { color:#4ade80; }
.leg-l   { color:#fb923c; }
.leg-i   { color:#f87171; }

/* FILTROS */
.filtros-wrap { background:#fff; border-bottom:1px solid #eee; padding:1.4rem 5%; }
.filtros { display:flex; gap:1rem; align-items:flex-end; flex-wrap:wrap; max-width:1200px; margin:0 auto 0.8rem; }
.filtro-grupo { display:flex; flex-direction:column; gap:0.3rem; flex:1; min-width:140px; }
.filtro-grupo label { font-size:0.75rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:0.06em; }
.filtro-grupo .obrig { color:var(--vermelho); }
.filtro-grupo select,
.filtro-grupo input  { padding:0.6rem 0.9rem; border-radius:8px; border:1.5px solid #dde; font-size:0.9rem; font-family:inherit; width:100%; transition:border-color 0.2s; background:#fff; }
.filtro-grupo select:focus,
.filtro-grupo input:focus  { outline:none; border-color:var(--azul-m); }
.filtro-grupo select:disabled,
.filtro-grupo input:disabled { background:#f5f5f5; color:#aaa; cursor:not-allowed; }
.filtro-acoes { display:flex; gap:0.6rem; align-items:flex-end; }
.btn-filtrar { background:var(--azul); color:#fff; padding:0.62rem 1.4rem; border-radius:8px; font-weight:700; font-size:0.88rem; border:none; cursor:pointer; white-space:nowrap; transition:background 0.2s; }
.btn-filtrar:hover:not(:disabled) { background:var(--azul-m); }
.btn-filtrar:disabled { background:#ccc; cursor:not-allowed; }
.btn-limpar  { background:var(--off); color:var(--muted); padding:0.62rem 1rem; border-radius:8px; font-weight:600; font-size:0.88rem; border:1px solid #dde; cursor:pointer; }
.btn-limpar:hover { background:#e4e6ef; }
.filtro-hint { font-size:0.8rem; color:var(--muted); max-width:1200px; margin:0 auto; }

.resultado-info { padding:0.6rem 0 1rem; font-size:0.85rem; color:var(--muted); min-height:1.5rem; }

.pub-corpo { padding:1.5rem 5%; max-width:1200px; margin:0 auto; }

.postos-grelha { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:1.2rem; }

/* CARDS */
.posto-card { background:#fff; border-radius:16px; box-shadow:0 2px 12px rgba(10,36,99,0.07); overflow:hidden; transition:transform 0.2s, box-shadow 0.2s; border:2px solid transparent; }
.posto-card:hover { transform:translateY(-3px); box-shadow:0 8px 28px rgba(10,36,99,0.12); }
.posto-card.posto-destaque { border-color:var(--amarelo); box-shadow:0 4px 20px rgba(245,158,11,0.2); }
.posto-card.posto-alerta   { border-color:#FCA5A5; }

.destaque-banda { background:linear-gradient(90deg,#FEF3C7,#FDE68A); color:#92400E; font-size:0.75rem; font-weight:700; padding:0.4rem 1rem; text-align:center; letter-spacing:0.05em; }
.alerta-banda   { background:#FEF2F2; color:#B91C1C; font-size:0.75rem; font-weight:600; padding:0.4rem 1rem; text-align:center; }

.posto-cabeca { padding:1.2rem 1.4rem 0.8rem; border-bottom:1px solid #f0f0f5; }
.posto-nome   { font-weight:700; font-size:1rem; color:var(--azul); margin-bottom:0.2rem; }
.posto-end    { font-size:0.8rem; color:var(--muted); }
.posto-loc    { font-size:0.75rem; color:var(--muted); margin-top:0.2rem; }

.posto-combustiveis { padding:0.8rem 1.4rem; display:flex; flex-direction:column; gap:0.5rem; }
.comb-linha { display:flex; align-items:center; gap:0.7rem; padding:0.5rem 0.8rem; border-radius:8px; background:var(--off); }
.comb-linha.disponivel   { background:rgba(34,193,107,0.09); }
.comb-linha.limitado     { background:rgba(244,112,10,0.08); }
.comb-linha.indisponivel { background:rgba(239,68,68,0.05); }
.comb-icone { font-size:1.1rem; }
.comb-nome  { flex:1; font-size:0.88rem; font-weight:500; }
.comb-chip  { font-size:0.72rem; font-weight:700; padding:0.2rem 0.6rem; border-radius:6px; }
.chip-disponivel   { background:rgba(34,193,107,0.15); color:#16a34a; }
.chip-limitado     { background:rgba(244,112,10,0.15);  color:#c2410c; }
.chip-indisponivel { background:rgba(239,68,68,0.1);    color:#b91c1c; }

.posto-rodape { padding:0.6rem 1.4rem; font-size:0.72rem; color:var(--muted); border-top:1px solid #f0f0f5; }

.sem-postos { text-align:center; padding:5rem 2rem; color:var(--muted); }
.sem-postos-icone { font-size:3rem; margin-bottom:1rem; display:block; }

.pub-footer { background:#060e22; color:rgba(255,255,255,0.3); padding:1.5rem 5%; font-size:0.78rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.5rem; margin-top:3rem; }

@media (max-width:700px) {
  .postos-grelha { grid-template-columns:1fr; }
  .pub-topo h1   { font-size:1.5rem; }
  .filtros       { flex-direction:column; }
  .filtro-grupo  { min-width:100%; }
}

/* ── NAVBAR LINKS ── */
.nav-links { display:flex; gap:1.8rem; list-style:none; align-items:center; }
.nav-links a { font-size:0.85rem; font-weight:500; color:rgba(255,255,255,0.65); transition:color 0.2s; }
.nav-links a:hover { color:#fff; }
.nav-link-cta {
  color: rgba(255,255,255,0.45) !important;
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  padding: 0.4rem 0.8rem !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.nav-link-cta:hover {
  color: rgba(255,255,255,0.75) !important;
  border-color: rgba(255,255,255,0.4) !important;
}
/* HAMBURGER */
.nav-hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.nav-hamburger span { display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition:all 0.3s; }

/* MOBILE MENU */
.nav-mobile { display:none; position:fixed; inset:0; background:rgba(10,36,99,0.98); z-index:200; flex-direction:column; align-items:center; justify-content:center; gap:2rem; }
.nav-mobile.aberto { display:flex; }
.nav-m-link { font-size:1.6rem; font-weight:700; color:rgba(255,255,255,0.75); transition:color 0.2s; }
.nav-m-link:hover { color:#fff; }
.nav-m-cta { background:var(--laranja); color:#fff !important; padding:0.8rem 2.5rem; border-radius:10px; font-size:1.1rem; font-weight:700; }

/* SOBRE */
.pub-sobre { background:var(--azul); padding:5rem 5%; color:#fff; }
.sobre-inner { max-width:900px; margin:0 auto; }
.sobre-inner h2 { font-size:1.8rem; font-weight:800; margin-bottom:1rem; }
.sobre-inner > p { color:rgba(255,255,255,0.65); line-height:1.8; margin-bottom:2.5rem; max-width:640px; }
.sobre-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.sobre-item { background:rgba(255,255,255,0.07); border-radius:14px; padding:1.5rem; }
.sobre-icone { font-size:1.8rem; display:block; margin-bottom:0.6rem; }
.sobre-item strong { display:block; font-size:1rem; font-weight:700; margin-bottom:0.3rem; }
.sobre-item p { font-size:0.88rem; color:rgba(255,255,255,0.55); line-height:1.6; margin:0; }

@media (max-width:700px) {
  .nav-links  { display:none; }
  .nav-hamburger { display:flex; }
  .sobre-grid { grid-template-columns:1fr; }
}

/* ── Contador em tempo real ── */
.contador-wrap {
  background: linear-gradient(90deg, #0A2463, #1B4FBF);
  padding: 1rem 5%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.contador-inner {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1100px;
  width: 100%;
}
.cnt-item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  background: rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 0.7rem 1.2rem;
  border: 1px solid rgba(255,255,255,0.15);
}
.cnt-icone { font-size: 1.5rem; }
.cnt-num   { font-size: 2rem; font-weight: 800; color: #4ade80; line-height: 1; }
.cnt-txt   { font-size: 0.78rem; color: rgba(255,255,255,0.7); line-height: 1.4; }
.cnt-txt strong { color: #fff; }

.nav-link-discreta {
  color: rgba(255,255,255,0.45);
  font-size: 0.8rem;
  font-weight: 400;
  padding: 0.3rem 0.7rem;
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,0.2);
}
.nav-link-discreta:hover {
  color: rgba(255,255,255,0.75);
  border-color: rgba(255, 255, 255, 0.305);
}
