.menu-grid {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem; 
  max-width: 100rem;   
  margin: 1.5rem auto;
}

.tile {
  background: var(--card);
  border-radius: var(--radius);
  padding: 2rem; 
  min-height: 14rem;     
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  position:relative;
}

.tile .title {
  font-size: 1.6rem; 
  font-weight: 800;
}


.detail { display:grid; grid-template-columns: 300px 1fr; gap:24px; }
.poster { border-radius: 16px; width:300px; height:450px; background:#0f0e18; }
.actions { margin-top: 12px; display:flex; gap:12px; }

.ads { position: relative; height: 100%; overflow: hidden; }
.ads .ad { position:absolute; inset:0; object-fit: cover; opacity:0; transition: opacity var(--dur-med) var(--curve); }
.ads .ad.is-active { opacity: 1; }
