
.page-hero { position:relative; height:44vh; min-height:320px; display:flex; align-items:flex-end; overflow:hidden; margin-top:68px; }
.page-hero-img {
  position:absolute; inset:0;
  background-image:url('../images/IMG_6574.jpg');
  /* zoom + alinhamento à esquerda: corta o estande "VISIONresíduos"
     (com marca e URL repetidas nas telas) que ocupa o terço direito
     da foto inteira, de cima a baixo. */
  background-size:170% auto; background-position:0% 35%;
}
.page-hero-grad { position:absolute; inset:0; z-index:1; background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,rgba(21,67,106,.88) 100%); }
.page-hero-accent { position:absolute; top:0; left:0; bottom:0; width:5px; z-index:5; background:linear-gradient(to bottom,var(--gold) 0%,var(--gold-dark) 30%,var(--blue) 55%,var(--blue-dark) 100%); }
.page-hero-content { position:relative; z-index:2; padding:0 64px 40px 72px; width:100%; }
.breadcrumb { display:flex; align-items:center; gap:8px; font-size:11px; color:rgba(255,255,255,.4); margin-bottom:14px; }
.breadcrumb a { color:rgba(255,255,255,.4); text-decoration:none; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb span { color:rgba(255,255,255,.2); }
.page-title { font-family:var(--font-display); font-weight:900; font-size:clamp(38px,5.5vw,68px); line-height:.95; text-transform:uppercase; letter-spacing:-1px; color:var(--white); margin-bottom:8px; }
.page-title .b { color:#7ec8f5; }
.page-subtitle { font-size:13px; color:rgba(255,255,255,.55); }

/* LISTA SIMPLES */
.lista-wrap { max-width: 900px; margin: 0 auto; padding: 64px 64px 80px; background:var(--white); }

.busca-simples {
  display:flex; align-items:center; gap:10px;
  background:var(--off-white); border:1.5px solid var(--surface-2);
  border-radius:6px; padding:12px 16px; margin-bottom:48px;
  transition:border-color .2s;
}

.busca-simples:focus-within { border-color:var(--blue-dark); }
.busca-simples svg { width:16px; height:16px; color:var(--gray-light); flex-shrink:0; }
.busca-simples input { border:none; background:none; outline:none; font-size:14px; color:var(--graphite); font-family:var(--font-body); width:100%; }
.busca-simples input::placeholder { color:var(--gray-subtle); }

.letra-bloco { margin-bottom:36px; }

.letra-titulo {
  font-family:var(--font-display); font-size:32px; font-weight:700;
  color:var(--blue-dark); line-height:1;
  padding-bottom:10px; margin-bottom:14px;
  border-bottom:2px solid var(--surface-2);
}

.nomes-lista { columns: 2; column-gap: 48px; }

.nome-item {
  display:block; break-inside:avoid;
  padding:9px 0; font-size:15px; color:var(--graphite);
  text-decoration:none; border-bottom:1px solid var(--surface-2);
  transition:color .2s, padding-left .2s;
}

.nome-item:hover { color:var(--blue-dark); padding-left:6px; }

.sem-resultado { display:none; text-align:center; padding:60px 20px; color:var(--gray-light); font-size:14px; }

.alfabeto-bar {
  display:flex; flex-wrap:nowrap; gap:3px;
  margin-bottom:40px; padding-bottom:24px;
  border-bottom:1.5px solid var(--surface-2);
  overflow-x:auto;
}

.alfabeto-letra {
  width:26px; height:26px; min-width:26px; border-radius:4px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:12px; font-weight:700;
  color:var(--blue-dark); cursor:pointer;
  transition:all .15s; background:var(--off-white);
}

.alfabeto-letra:hover { background:var(--blue-dark); color:white; }
.alfabeto-letra.ativa { background:var(--blue-dark); color:white; }

.alfabeto-letra.desabilitada {
  color:var(--gray-subtle); cursor:default;
  background:transparent; pointer-events:none;
}

@media (max-width: 768px) {
  .page-hero { margin-top:64px; height:36vh; min-height:260px; }
  .page-hero-content { padding:0 20px 28px 24px; }
  .lista-wrap { padding:40px 20px 60px; }
  .nomes-lista { columns: 1; }
}

/* PLANTA DO EVENTO */
.planta-evento { padding:0 64px 80px; background:var(--white); }
.planta-evento-img-wrap {
  margin-top:24px; border:1.5px solid var(--surface-2); border-radius:10px;
  overflow:hidden; background:var(--off-white); position:relative; cursor:zoom-in;
}
.planta-evento-img-wrap img { display:block; width:100%; height:auto; }
.planta-evento-zoom-hint {
  position:absolute; bottom:14px; right:14px;
  display:flex; align-items:center; gap:6px;
  background:rgba(21,67,106,.85); color:white;
  font-size:11px; font-weight:600; padding:8px 12px; border-radius:20px;
  pointer-events:none;
}
.planta-evento-zoom-hint svg { width:14px; height:14px; flex-shrink:0; }

/* Modal de zoom */
.planta-zoom-modal {
  display:none; position:fixed; inset:0; z-index:9999;
  background:rgba(10,20,30,.92); overflow:auto; cursor:zoom-out;
  padding:32px;
}
.planta-zoom-modal.aberto { display:flex; align-items:flex-start; justify-content:center; }
.planta-zoom-modal img { width:auto; max-width:none; height:auto; min-width:1400px; }
.planta-zoom-fechar {
  position:fixed; top:20px; right:24px; z-index:10000;
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3);
  color:white; display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.planta-zoom-fechar svg { width:18px; height:18px; }

@media (max-width: 768px) {
  .planta-evento { padding:0 20px 60px; }
  .planta-zoom-modal { padding:16px; }
  .planta-zoom-modal img { min-width:1000px; }
}
