/*
 * EchoBoomer — banner da home  [eb_banner]
 * Identidade própria: destaque grande com imagem + cartões claros, tag "Em destaque" com eco azul.
 */
.eb-banner{--eb-accent:#0186fd;--eb-ink:#0f172a;--eb-muted:#6b7686;--eb-panel:#eef3f9;
  font-family:Lato,system-ui,-apple-system,"Segoe UI",sans-serif;margin:0 0 8px}
.eb-banner *,.eb-banner *::before,.eb-banner *::after{box-sizing:border-box}
.eb-banner a{color:inherit;text-decoration:none}
.eb-banner img{display:block;max-width:100%}
.eb-banner__grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:16px;min-height:480px}

/* ---- Destaque principal ---- */
.eb-lead{position:relative;isolation:isolate;min-height:480px;border-radius:24px;overflow:hidden;background:#0b1220}
.eb-lead__link{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;height:100%;min-height:inherit;padding:36px;color:#fff}
.eb-lead__media{position:absolute;inset:0;z-index:-2}
.eb-lead__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.eb-lead__link::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(6,10,20,.10) 20%,rgba(6,10,20,.55) 55%,rgba(6,10,20,.92) 100%)}
.eb-lead:hover .eb-lead__media img{transform:scale(1.04)}
.eb-lead__title{margin:0;max-width:780px;color:#fff;font-size:clamp(26px,3.1vw,42px);font-weight:800;line-height:1.12;
  letter-spacing:-.015em;text-wrap:balance;text-shadow:0 2px 20px rgba(0,0,0,.35)}
.eb-lead .eb-kicker{color:#7cc0ff}
.eb-lead .eb-meta{color:rgba(255,255,255,.75)}

/* tag com "eco" */
.eb-live{position:absolute;top:24px;left:24px;display:inline-flex;align-items:center;gap:9px;padding:8px 14px 8px 12px;
  border-radius:999px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  color:#fff;font-size:11px;font-weight:800;line-height:1;letter-spacing:.14em;text-transform:uppercase}
.eb-live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--eb-accent);
  box-shadow:0 0 0 0 rgba(1,134,253,.7);animation:eb-echo 2.2s ease-out infinite}
@keyframes eb-echo{0%{box-shadow:0 0 0 0 rgba(1,134,253,.7)}80%,100%{box-shadow:0 0 0 12px rgba(1,134,253,0)}}

/* ---- Cartões laterais ---- */
.eb-side{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:12px}
.eb-card{border-radius:20px;background:var(--eb-panel);transition:background-color .2s ease,transform .2s ease}
.eb-card:hover{background:#e3ecf7;transform:translateY(-2px)}
.eb-card a{display:flex;align-items:center;gap:16px;height:100%;padding:12px}
.eb-card__media{position:relative;flex:0 0 128px;align-self:stretch;min-height:92px;border-radius:14px;overflow:hidden;background:#d6e0ee}
.eb-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.eb-card__body{display:flex;flex-direction:column;gap:6px;min-width:0;padding-right:6px}
.eb-card__title{margin:0;color:var(--eb-ink);font-size:16px;font-weight:800;line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.eb-card:hover .eb-card__title{color:var(--eb-accent)}

/* ---- Comuns ---- */
.eb-kicker{color:var(--eb-accent);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.eb-meta{color:var(--eb-muted);font-size:12.5px;font-weight:600}
.eb-banner a:focus-visible{outline:3px solid var(--eb-accent);outline-offset:3px}
.eb-card a:focus-visible{outline-offset:-3px;border-radius:20px}

/* ---- Tablet / telemóvel ---- */
@media (max-width:900px){
  .eb-banner__grid{grid-template-columns:1fr;min-height:0}
  .eb-lead,.eb-lead__link{min-height:400px}
  .eb-side{grid-template-rows:none}
  .eb-card__media{flex-basis:112px;min-height:88px}
}
@media (max-width:560px){
  .eb-lead,.eb-lead__link{min-height:360px}
  .eb-lead__link{padding:22px}
  .eb-live{top:16px;left:16px}
  .eb-card__media{flex-basis:96px}
  .eb-card__title{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  .eb-live::before{animation:none}
  .eb-lead__media img,.eb-card{transition:none}
}

/* ---- Injeção automática no topo da home ---- */
.eb-banner-wrap{max-width:1240px;margin:20px auto 40px;padding:0 20px}
@media (max-width:560px){.eb-banner-wrap{padding:0 12px;margin-top:12px}}
